【发布时间】:2015-08-29 14:20:48
【问题描述】:
我有一个网站,当在我的网站中创建新帖子时,我也想在网站的 Facebook 页面上发布它(作为 Facebook 页面管理员,而不是在网站上发布它的用户)。当然,我是 Facebook 页面的管理员。怎么办?
我要发布的内容是一张图片和一些描述。
【问题讨论】:
我有一个网站,当在我的网站中创建新帖子时,我也想在网站的 Facebook 页面上发布它(作为 Facebook 页面管理员,而不是在网站上发布它的用户)。当然,我是 Facebook 页面的管理员。怎么办?
我要发布的内容是一张图片和一些描述。
【问题讨论】:
您可以将Facebook Graph API 和Facebook 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
希望能帮到你解决问题
【讨论】: