C# 将信息从网站发布到Facebook墙
我有一个用ASP.NET webform.NET 4.5 C#制作的网站。本网站包含一个论坛(由我自制),该论坛的部分内容需要发布到特定的facebook墙上(为该网页制作)。我需要的是:C# 将信息从网站发布到Facebook墙,c#,asp.net,facebook,facebook-graph-api,C#,Asp.net,Facebook,Facebook Graph Api,我有一个用ASP.NET webform.NET 4.5 C#制作的网站。本网站包含一个论坛(由我自制),该论坛的部分内容需要发布到特定的facebook墙上(为该网页制作)。我需要的是: 帖子刚从论坛的特定部分创建了帖子(消息)到相应的facebook墙 可选:将网页上的论坛线程与特定facebook页面上的消息/评论同步 我看过这些指南: 但我不确定这真的是我的解决方案?我试着按照指南去做,但看起来不一样 编辑: dynamic result; //https://dev
dynamic result;
//https://developers.facebook.com/tools/explorer/
//https://developers.facebook.com/tools/access_token/
FacebookClient client = new FacebookClient(ConfigurationManager.AppSettings["FacebookAppToken"]);
//result = client.Get("debug_token", new
//{
// input_token = ConfigurationManager.AppSettings["FacebookAppToken"],
// access_token = ConfigurationManager.AppSettings["FacebookAppToken"]
//});
//result = client.Get("oauth/access_token", new
// {
// client_id = ConfigurationManager.AppSettings["FacebookAppId"],
// client_secret = ConfigurationManager.AppSettings["FacebookAppSecret"],
// grant_type = "client_credentials",
// //redirect_uri = "http://www.MyDomain.net/",
// //code = ""
// });
result = client.Get("oauth/access_token", new
{
client_id = ConfigurationManager.AppSettings["FacebookAppId"],
client_secret = ConfigurationManager.AppSettings["FacebookAppSecret"],
grant_type = "client_credentials"
});
client.AccessToken = result.access_token;
result = client.Post("[IdOfFacebookPage]/feed", new { message = "Test Message from app" });
//result.id;
result = client.Get("[IdOfFacebookPage]");
return false;
发布到facebook墙的方法:
dynamic messagePost = new ExpandoObject();
messagePost.picture = "http://www.stackoverflow.com/test.png";
messagePost.link = "http://www.stackoverflow.com";
messagePost.name = "This is a test name";
messagePost.caption = "CAPTION 1";
messagePost.description = "Test desc";
messagePost.message = "message"
var fb = new FacebookClient();
dynamic result = fb.Get("oauth/access_token", new {
client_id = "app_id",
client_secret = "app_secret",
grant_type = "client_credentials"
});
fb.AccessToken = result.access_token;
try
{
var postId = fb.Post(userId + "/feed", messagePost);
}
catch (FacebookOAuthException ex)
{
//handle oauth exception
}
catch (FacebookApiException ex)
{
//handle facebook exception
}
您需要一个扩展令牌才能发布到墙。。女妖很好地解释了获得扩展令牌的步骤
编辑:如何通过女妖获得扩展令牌:
请按照此方法在facebook墙上发布:
dynamic messagePost = new ExpandoObject();
messagePost.picture = "http://www.stackoverflow.com/test.png";
messagePost.link = "http://www.stackoverflow.com";
messagePost.name = "This is a test name";
messagePost.caption = "CAPTION 1";
messagePost.description = "Test desc";
messagePost.message = "message"
var fb = new FacebookClient();
dynamic result = fb.Get("oauth/access_token", new {
client_id = "app_id",
client_secret = "app_secret",
grant_type = "client_credentials"
});
fb.AccessToken = result.access_token;
try
{
var postId = fb.Post(userId + "/feed", messagePost);
}
catch (FacebookOAuthException ex)
{
//handle oauth exception
}
catch (FacebookApiException ex)
{
//handle facebook exception
}
您需要一个扩展令牌才能发布到墙。。女妖很好地解释了获得扩展令牌的步骤
编辑:如何通过女妖获得扩展令牌:
请遵循这一点,创建一个扩展页面标记,并使用它使文章一切正常。见此:
我很惊讶这个简单的任务很难运行,而且几乎没有什么帮助。通过创建一个扩展页面标记,并使用它使文章一切正常。见此:
我很惊讶这个简单的任务很难运行,而且几乎没有什么帮助。这些链接使用不同的库。你用的是哪一个?。FacebookC#SDK()将为您提供所需功能。我现在不使用任何库,但我正在寻找最简单、最好的方法。我将访问facebooksdk.net。如果你有一个关于如何做我需要的事情的指南,那就更好了。IMO Facebook C#SDK是一个不错的选择,它易于使用,并为你提供了所需的API。此页面提供了如何获取/发布Facebook数据的示例:?@Slartibartfast我需要在我的网站内完成所有操作,无需登录表单等等。当用户在我的网站上发布消息时,我需要将它们发布在我的facebook页面上,用户不必做任何事情来实现这一点。这些链接使用不同的库。你用的是哪一个?。FacebookC#SDK()将为您提供所需功能。我现在不使用任何库,但我正在寻找最简单、最好的方法。我将访问facebooksdk.net。如果你有一个关于如何做我需要的事情的指南,那就更好了。IMO Facebook C#SDK是一个不错的选择,它易于使用,并为你提供了所需的API。此页面提供了如何获取/发布Facebook数据的示例:?@Slartibartfast我需要在我的网站内完成所有操作,无需登录表单等等。当用户在我的网站上发布消息时,我需要将它们发布在我的facebook页面上,用户不必做任何事情来实现这一点。为什么不使用facebook SDK.NET呢?我已经实现了一些Facebook SDK.NET代码,但问题是我没有权限发布到网站Facebook页面?嘿,Banshee,我已经编辑了下面的答案。请尝试并让我知道您是否能够实现此操作。谢谢,但没有,相同的例外:附加信息:(OAutheException-#200)(#200)用户尚未授权应用程序执行此操作。我确信我运行的代码与您建议的相同。你测试过代码了吗?如果是的话