0

看起来,即使您拥有 publish_actions 权限,access_token 仍然会在几个小时后过期。如果 publish_actions 的目标是能够在后台为用户做事而不必一遍又一遍地请求权限,我们如何在没有用户输入的情况下更新令牌?

我还在这里阅读:https ://developers.facebook.com/docs/beta/opengraph/actions/ :

Note - Apps can also use an App Access Token to publish actions for authenticated users.

但这对我也不起作用,我得到:

{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException"}}

编辑 应用程序访问令牌确实有效,但在 API URL 中,您必须将“我”更改为用户 ID(例如https://graph.facebook.com/me=> https://graph.facebook.com/<some user id>

4

2 回答 2

1

在极少数情况下您需要offline_access 权限。

要发布 OG 操作,用户必须出现在您的应用中。当他们不在您的应用程序中并执行操作时,您不得代表他们发布操作。

因此,您可以使用 JS SDK 来保持用户令牌的新鲜度。只需在每个页面上异步运行 FB.getLoginStatus() ,只要用户已验证您的应用并登录 Facebook,它将确保您始终拥有有效的访问令牌。

于 2011-09-28T07:28:33.847 回答
0

听起来你找到了答案:)。如果您确实想使用用户令牌而不是应用程序令牌,您可以请求 offline_access 权限(生成一个不会过期的用户令牌),尽管我建议尽可能使用应用程序令牌。

于 2011-09-27T03:20:44.153 回答