【发布时间】:2011-12-27 10:18:01
【问题描述】:
如this other question 中所述,如果用户授予 publish_stream 权限,我可以使用应用程序 access_token 发布到该用户的墙。我测试了它并且它有效。但是我无法使用应用程序 access_token 发布到用户的页面!我错过了什么吗?
现在我使用 /me/accounts/ 连接来获取页面的 access_token,并使用它来发布。但这对我和用户来说都是一个非常头疼的问题,因为这些令牌经常过期(当用户更改密码时,...等),每次发生这种情况时,发布都会失败,我需要给用户发送电子邮件以再次登录,所以我可以为页面检索新的 access_token。这是一种糟糕的用户体验,我正在努力寻找解决方法。应用程序令牌适用于向用户发布,这很棒,但我找不到让它适用于页面的方法。有什么建议吗?
编辑: 为了进一步澄清,我目前请求 manage_pages 和 offline_access 权限,然后获取每个页面的 access_token 并使用它发布到它。这样可行。主要问题是令牌过期,即使有 offline_access 权限。令牌过期的最常见原因是用户更改了密码。这是我在发布到 Facebook 页面时经常遇到的一个常见错误。
Facebook 错误。类型:OAuthException,消息:'错误验证 访问令牌:会话与当前存储的会话不匹配。这可能 是因为用户从会话开始就更改了密码 已创建或 Facebook 出于安全原因更改了会话。'
为了处理这个问题,我向用户发送电子邮件并要求他们再次访问我们的应用程序,当他们访问时,我会获取一组新的 access_token 来使用。但这是有问题的,因为用户对错误发生的原因感到困惑并责怪我们,并且一些用户不打开他们的电子邮件,因此问题没有得到解决,然后当他们发现我们的应用程序停止时他们很生气几周前没有他们要求停止。
这就是为什么我希望我可以使用应用程序 access_token 发布以避免这些问题。由于它适用于用户配置文件,我希望它也适用于页面。但到目前为止还没有运气,除非我遗漏了一些明显的东西。
【问题讨论】:
-
好的。你试过
offline_access权限吗?
标签: facebook facebook-graph-api facebook-page