Пример #1
0
        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.");
                });
            }
        }