从应用访问“公共”图形API资源?

时间:2011-07-06 19:50:32

标签: facebook http facebook-graph-api

我正在创建一个试图使用“公开”Facebook内容的网络应用程序。

这不是您传统的“Facebook应用程序”,因为我实际上并没有注册Facebook用户使用它,但用户将是所有服务器端。

我已经到了某一点,我必须对某些“公共”内容使用“access_token”,我已经能够生成一个app access_token,但这不适用于公共数据我'我有兴趣访问。

通过

创建access_token
https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=client_credentials

不适用于

https://graph.facebook.com/chickfila/notes?access_token=CODE_FROM_ABOVE

可公开访问,无需登录...

http://www.facebook.com/ChickfilA?sk=notes

任何方式为app本身提供用户级access_token?

3 个答案:

答案 0 :(得分:7)

我对公开的事件数据有一个非常类似的问题。我必须做的是为应用程序的管理员创建一个离线访问令牌。

因此,请与您的管理员一起登录并打开以下网址(用您的ID替换APP ID,最终您需要更多权限,但read_stream和offline_access应该可以解决问题):

https://graph.facebook.com/oauth/authorize?client_id=APPID&scope=offline_access,read_stream&redirect_uri=http://www.facebook.com/connect/login_success.html

这将为您提供一个代码,您将粘贴到以下URL(使用您的APP ID和SECRET):

https://graph.facebook.com/oauth/access_token?client_id=APPID&redirect_uri=http://www.facebook.com/connect/login_success.html&client_secret=SECRET&code=CODE

这将为您提供一个永远有效的访问令牌(或直到您更改密码)。

答案 1 :(得分:4)

最近,我使用Facebook Graph Explorer中免费提供的访问令牌,可以让您浏览不同的图形资源,并可以指定所需的权限。为此,您可以告诉它您想要offline_access,并且该令牌可用于在需要时提取此信息,而不必担心令牌过期。

答案 2 :(得分:3)

为您的应用创建一个用户,让用户授权您的应用并获取访问令牌并将其用于此类数据获取。一些手动工作,但只要您有一些用户授权的访问令牌,您就应该能够获得公共内容。