1

我正在构建将为 Facebook 用户提供新过滤器的应用程序。为了使这些过滤器起作用,我需要(从他的墙上)获取用户帖子,所以我设法让他们通过他们的 Facebook 帐户登录,并且我正在存储他们的 access_token 以便在实时更新到来时获取更新。

问题是 - 当用户浏览我的页面时,每个请求都允许我进行一次 Graph API 调用(用户授予我的应用程序的权限),但是当我尝试进行第二次调用时(当用户是,即阅读他最好的朋友的帖子)即使我提供了有效的 access_token,Graph API 也仅返回有关此用户的公共信息。

我能做些什么来克服这个问题吗?我正在拨打的电话示例:

/1198448946?access_token=token

该令牌可以检查用户的电子邮件(我获得了所需的权限),但响应被删除了。当我尝试在 Graph API Explorer 中使用相同的 URI 时 - 它返回了我想要的响应(使用相同的 access_token!),但应用程序仍然只显示公共信息。

4

1 回答 1

0

您需要做的第一件事是阅读以下内容:

https://developers.facebook.com/roadmap/offline-access-removal/

简短的回答是,您默认收到的令牌将是短暂的(1-2 小时)。Facebook 已取消离线访问权限,但您现在可以将短寿命令牌换成长寿命令牌(60 天)。您每次访问您的网站时更新此令牌以获得另外 60 天。

此资源应该可以帮助您了解访问令牌过期的原因。它还记录了在用户在场时检测到过期令牌时应采取的正确步骤。 https://developers.facebook.com/docs/howtos/login/debugging-access-tokens/

于 2013-01-27T23:30:03.517 回答