自动在网站Facebook页面上发布网站帖子

时间:2013-04-20 09:34:45

标签: c# facebook

我有一个网站,当我的网站上创建一个新帖子时,我也想在网站的Facebook页面上发布它(作为Facebook页面管理员,而不是在网站上发布它的用户)。当然我是Facebook页面的管理员。怎么办呢?

我试图发布的内容是图片和一些描述。

1 个答案:

答案 0 :(得分:1)

您可以将Facebook Graph APIFacebook SDK for .NET用于您的目的。

如果您想使用C#代码执行此操作,而不是java-script,那么您将拥有以下代码:

<强> C#

private void SendToFacebook(string facebookUserScreenName, string fbAppToken, string link, string linkName, string message, string caption, string imageUrl)
{
   var client = new FacebookClient(fbAppToken);
   dynamic feedRez = client.Get(facebookUserScreenName);
   var userId = feedRez.id;

   var url = String.Format("https://graph.facebook.com/{0}/feed?access_token={1}", userId, fbAppToken);

   var req = WebRequest.Create(url);
   req.Method = "POST";
   req.ContentType = "application/x-www-form-urlencoded";

   var post = String.Format("{0}&message={1}&link={2}&name={3}&caption={4}&picture={4}",
                                 HttpUtility.UrlEncode(fbAppToken),
                                 HttpUtility.UrlEncode(message),
                                 HttpUtility.UrlEncode(link),
                                 HttpUtility.UrlEncode(linkName),
                                 HttpUtility.UrlEncode(caption),
                                 HttpUtility.UrlEncode(imageUrl));

   var byteArray = Encoding.UTF8.GetBytes(post);
   var stream = req.GetRequestStream();

   stream.Write(byteArray, 0, byteArray.Length);
   stream.Close();

   try
   {
      WebResponse response = req.GetResponse();
   }
   catch (Exception ex)
   {
      //log exception
   }
}

要了解更多详情,请参阅Publish to Feed

我希望它可以帮助您解决问题