C# FacebookAPI获取公共档案墙帖子

C# FacebookAPI获取公共档案墙帖子,c#,facebook,facebook-graph-api,C#,Facebook,Facebook Graph Api,我正在用c#制作一个小部件,从公共facebook页面/个人资料中获取帖子 我相信每次向api发出请求时都必须获得访问令牌 我不知道我需要哪个访问令牌以及使用哪个url请求字符串 这是我目前正在使用的,但它带来了一个意想不到的关键。 访问令牌=11212121212 | NxG_8djeufhfywhduEjaeU4J-lh4 (我输入了随机字符作为结构示例) 然后,当我使用该代码从墙上获取立柱时,使用: string urlGetFeed = "https://graph.facebook.c

我正在用c#制作一个小部件,从公共facebook页面/个人资料中获取帖子

我相信每次向api发出请求时都必须获得访问令牌

我不知道我需要哪个访问令牌以及使用哪个url请求字符串

这是我目前正在使用的,但它带来了一个意想不到的关键。 访问令牌=11212121212 | NxG_8djeufhfywhduEjaeU4J-lh4

(我输入了随机字符作为结构示例)

然后,当我使用该代码从墙上获取立柱时,使用:

string urlGetFeed = "https://graph.facebook.com/thepagename?fields=access_token=" + accesstoken2 + ",posts.fields(message,picture)";

我收到一个错误:远程服务器返回了一个错误:(400)错误请求。错误。

对于Facebook页面的订阅源,您只需要一个应用程序访问令牌,这很容易获得:

APP-ID | APP-SECRET

例如:

string urlGetFeed = "https://graph.facebook.com/thepagename/feed?access_token=" + [app-id] + "|" + [app-secret];

此外,访问令牌不是“字段”的值,而是一个单独的参数。

您应该使用的URL如下:

https://graph.facebook.com/[FACEBOOK\u ID]/[YOU\u想要什么]?访问\u令牌=[YOUR\u访问\u令牌]&限制=[YOUR\u限制]

第一部分访问Facebook图表。 第二部分是你想要的Facebook Id。 第三部分是你想要从你输入的Facebook Id中得到的东西(帖子、提要、活动等)。在这里,您必须确保访问令牌具有您想要获取的内容的权限。 第四部分是您获得的访问令牌和限制(如果您不设置限制,将使用Facebook的默认限制)

当心您在发布的第一行代码中获得的访问令牌。该线路将为您提供一个短实时访问令牌。您应在此处交换短期访问令牌:

https://graph.facebook.com/oauth/access_token?client_id=[YUOR\u CLIENT\u ID]&CLIENT\u secret=[YOURCLIENT\u secret]&grant\u type=fb\u exchange\u token&fb\u exchange\u token=[THE\u SHORT\u LIVE\u ACCESS\u token]

编辑: 您应该做的是包括FB Connect脚本:

<script type='text/javascript' src='http://connect.facebook.net/en_US/all.js#xfbml=1'</script>
该函数中的token变量将包含短期访问令牌,以便在此处交换长期访问令牌:

https://graph.facebook.com/oauth/access_token?client_id=[YOUR_CLIENT_ID]&client_secret=[YOURCLIENT_SECRET]&grant_type=fb_exchange_token&fb_exchange_token=[token]
一旦您获得该代币,请前往此处获取您想要的:

https://graph.facebook.com/[THE_FACEBOOK_ID]/[WHAT_YOU_WANT]?access_token=[YOUR_ACCESS_TOKEN]&limit=[THE_LIMIT]

这就给了我一个错误:{“error”:{“message”:“无效的OAuth访问令牌签名。”,“type”:“OAuthException”,“code”:190}}我必须在应用程序设置上设置一些权限吗?很抱歉,我没有看到你正在获取应用程序令牌,这就是为什么你不能扩展该令牌的活动范围,但是这个令牌对于用户操作来说是无用的。这就带来了:“不支持的get请求。”你试过facebook sdk吗?
https://graph.facebook.com/oauth/access_token?client_id=[YOUR_CLIENT_ID]&client_secret=[YOURCLIENT_SECRET]&grant_type=fb_exchange_token&fb_exchange_token=[token]
https://graph.facebook.com/[THE_FACEBOOK_ID]/[WHAT_YOU_WANT]?access_token=[YOUR_ACCESS_TOKEN]&limit=[THE_LIMIT]