2011-10-03 46 views
51

我试图使用Facebook图形API从一个公共页面的最新状态,让我们说http://www.facebook.com/microsoft获取使用Facebook的图形API的公共页面状态,而不访问令牌

根据http://developers.facebook.com/tools/explorer/?method=GET&path=microsoft%2Fstatuses - 我需要一个访问令牌。由于微软网页是“公开”的,这是绝对如此吗?没有访问令牌,我有没有办法访问这些公共状态?

如果是这样,为我的网站创建访问令牌的正确方法如何?我有一个应用程序ID,但是所有http://developers.facebook.com/docs/authentication/的示例都描述了如何处理用户登录。我只想在Microsoft网页上获取最新状态更新并将其显示在我的网站上。

回答

54

这是设计。一旦可以从没有访问令牌的公共页面获取它,但是为了阻止对API进行不明身份的匿名访问而进行了更改。你可以得到一个访问令牌的应用程序(如果您还没有为您的网站的Facebook应用程序集 - 你应该创建一个)与图形API以下调用:

https://graph.facebook.com/oauth/access_token? 
client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET& 
grant_type=client_credentials 

这样就可以进行实际的具有此访问令牌的API调用。

希望这有助于

+0

这完全回答我的问题 - 谢谢你的帮助。 – christofr

+4

获取应用程序令牌并将其传递给“https://graph.facebook.com/PADEID/statuses?access_token=”后,出现错误“请求此资源需要用户访问令牌。” – pdavis

+0

我从这个URL调用得到的回复是text/plain类型我很困惑 –

29

可以使用的AppID和密钥来获得公众的职位的任何页面/饲料。这样你就不需要获取访问令牌。像下面这样称呼它。

https://graph.facebook.com/PAGE-ID/feed?access_token=APP-ID|APP-SECRET 

并获得帖子。

https://graph.facebook.com/PAGE-ID/posts?access_token=APP-ID|APP-SECRET 
+1

该解决方案是否有到期时间? – Vucko

+2

没有到期时间,它工作正常。但不要相信Facebook API会改变他们的想法:) –

+0

感谢您的快速回复:) – Vucko

相关问题