protected void btnCreateSite_Click(object sender, EventArgs e) { string docLinkUrl = "http://xqx2012/DocLib1/IMGP2947.JPG"; ClientContext ctx = new ClientContext(newUrl); ctx.Credentials = CredentialCache.DefaultCredentials; //ctx.ExecutingWebRequest += new EventHandler<WebRequestEventArgs>(clientContext_ExecutingWebRequest); //CredentialCache cc = new CredentialCache(); //cc.Add(new Uri(newUrl), "NTLM", CredentialCache.DefaultNetworkCredentials); NetworkCredential cc = new NetworkCredential("userb", "123123", "ccc"); //ctx.Credentials = cc; //ctx.AuthenticationMode = ClientAuthenticationMode.Default; //ctx.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; //using (var ctx = TokenHelper.GetClientContextWithAccessToken(HostWeb, AccessToken)) //{ try { SocialDataItem docLink = new SocialDataItem { ItemType = SocialDataItemType.Document, Text = "link to picture", Uri = docLinkUrl }; SocialPostCreationData postCreationData = new SocialPostCreationData(); postCreationData.ContentText = "{0}"; postCreationData.ContentItems = new SocialDataItem[1] { docLink }; SocialFeedManager feedManager = new SocialFeedManager(ctx); // Publish the post. This is a root post to the user's feed, so specify // null for the targetId parameter. feedManager.CreatePost(null, postCreationData); //clientContext.ExecuteQuery(); SPSecurity.RunWithElevatedPrivileges(delegate() { ctx.ExecuteQuery(); }); lbMessage.Text = "success!"; } catch (Exception ex) { lbMessage.Text = ex.Message; } //} }
private void btnPostFeed_Click(object sender, RoutedEventArgs e) { if (!string.IsNullOrEmpty(txtPost.Text)) { try { // Create the client context object. context = new ClientContext(Office365.Office365SiteUrl); // Create an instance of Authenticator object. Authenticator at = new Authenticator(); at.AuthenticationMode = ClientAuthenticationMode.MicrosoftOnline; at.CookieCachingEnabled = true; // Assign the instance of Authenticator object to the ClientContext.Credential property. context.Credentials = at; // Create the SocialPostCreationData instance. SocialPostCreationData postCreationData = new SocialPostCreationData(); // Add the content for the root post. postCreationData.ContentText = txtPost.Text; // Create an instance of SocialFeedManager. SocialFeedManager feedManager = new SocialFeedManager(context); // Create the root post. feedManager.CreatePost(null, postCreationData); context.ExecuteQueryAsync( (object obj, ClientRequestSucceededEventArgs args) => { // Success Logic. Deployment.Current.Dispatcher.BeginInvoke(() => { MessageBox.Show("Post published to Office 365 My Site successfully."); }); }, (object obj, ClientRequestFailedEventArgs args) => { // Failure logic. Deployment.Current.Dispatcher.BeginInvoke(() => { MessageBox.Show(args.Message); }); }); } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); } } else { Deployment.Current.Dispatcher.BeginInvoke(() => { MessageBox.Show("Enter text for the post."); }); } }