如何处理新的OpenGraph发布操作功能的过期访问令牌?

时间:2011-09-26 21:30:38

标签: facebook beta

看起来,即使您拥有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网址中,您必须将“我”更改为用户的ID(例如https://graph.facebook.com/me =&gt; https://graph.facebook.com/<some user id>

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

相关问题