コード例 #1
0
        private bool RequestUploadUrl(out RequestUploadUrlResponse uploadDetails)
        {
            RequestUploadUrlRequest requestbody = new RequestUploadUrlRequest();

            requestbody.registerUploadRequest.owner = String.Format("urn:li:person:{0}", lblUserID.Text);
            RequestUploadUrlResponse obj = null;

            LinkedInLibrary.BaseRequest.Post <RequestUploadUrlResponse, LinkedInErrorResponse>(
                LinkedInLibrary.Constants.URLs._registerupload,
                lblAccessToken.Text,
                () =>
            {
                string s = JsonConvert.SerializeObject(requestbody);
                return(new StringContent(s, Encoding.UTF8, "application/json"));
            },
                (response) =>
            {
                obj = response;
                return(null);
            },
                HandleErrorResponse
                );
            uploadDetails = obj;
            return(uploadDetails == null ? false : true);
        }
コード例 #2
0
        protected void btnPostImageToCompany_Click(object sender, EventArgs e)
        {
            if (fileUploadPostImageToCompany.HasFile)
            {
                string fileAddress = "";
                try
                {
                    fileAddress = SaveFile(fileUploadPostImageToCompany.PostedFile);
                }
                catch (Exception ex)
                {
                    fileAddress = "";
                }
                if (!string.IsNullOrEmpty(fileAddress))
                {
                    RequestUploadUrlResponse uploadDetails = null;
                    if (RequestUploadUrl(out uploadDetails))
                    {
                        //string imagepath = SaveFile(fileUpload.PostedFile);
                        if (UploadImageBinaryFile(uploadDetails, fileAddress))
                        {
                            CreateImageShareRequest requestbody = new CreateImageShareRequest();
                            requestbody.author = GetSelectedOrganization();
                            Media media = new Media();
                            media.description.text = ""; //does not render on image post
                            media.title.text       = ""; //does not render on image post
                            media.media            = uploadDetails.value.asset;
                            requestbody.specificContent.shareContent.shareCommentary.text = txtPostImageToCompany.Text;
                            requestbody.specificContent.shareContent.media = new List <Media>()
                            {
                                media
                            };

                            LinkedInLibrary.BaseRequest.Post <LinkedInShare, LinkedInErrorResponse>(
                                LinkedInLibrary.Constants.URLs._ugcposts,
                                lblAccessToken.Text,
                                () =>
                            {
                                string s = JsonConvert.SerializeObject(requestbody);
                                return(new StringContent(s, Encoding.UTF8, "application/json"));
                            },
                                (LinkedInShare share) =>
                            {
                                divError.Visible   = false;
                                divSuccess.Visible = true;
                                lblShareURN.Text   = share.ShareURN;
                                btnGetPost.Visible = true;
                                return(null);
                            },
                                HandleErrorResponse
                                );
                        }
                    }
                }
            }
        }
コード例 #3
0
        private bool UploadImageBinaryFile(RequestUploadUrlResponse uploadDetails, string fileAddress)
        {
            bool isSuccess = false;

            LinkedInLibrary.BaseRequest.Post <object, LinkedInErrorResponse>(
                uploadDetails.value.uploadMechanism.mediaUploadHttpRequest.uploadUrl,
                lblAccessToken.Text,
                () =>
            {
                return(new ByteArrayContent(File.ReadAllBytes(fileAddress)));
            },
                (response) =>
            {
                isSuccess = CheckUploadStatus(uploadDetails.value.GetAssetID);
                return(null);
            },
                HandleErrorResponse,
                null,
                "PUT",
                false
                );
            return(isSuccess);
        }