我可以使用app access_token发布到网页吗?

时间:2011-12-27 10:18:02

标签: facebook facebook-graph-api facebook-page

this other question中所述,如果用户授予publish_stream权限,我可以使用app access_token发布到该用户的墙上。我测试了它,它的工作原理。但我无法使用app access_token发布到用户的页面!我错过了什么吗?

现在我使用/ me / accounts / connection来获取页面的access_token,并使用它来发布。但这对我和用户来说都是一个令人头疼的问题,因为这些令牌经常过期(当用户更改密码时......等),每次发生这种情况时发布失败,我需要通过电子邮件发送给用户再次登录,以便我可以为页面检索新的access_token。这是一个糟糕的用户体验,我正试图找到解决方法。应用程序令牌适用于发布给用户,这很棒,但我找不到让它适用于页面的方法。有什么提示吗?

修改 为了进一步说明,我目前请求manage_pages和offline_access权限,然后获取每个页面的access_token并使用它来发布到它。这样可行。主要问题是即使使用offline_access权限,令牌也会过期。令牌过期的最常见原因是用户是否更改了密码。这是我在发布到Facebook页面时得到很多的常见错误。

  

Facebook错误。类型:OAuthException,message:'验证错误   访问令牌:会话与当前存储的会话不匹配。这可能   因为用户自会话开始以来更改了密码   是出于安全原因创建或Facebook已更改会话。'

为了解决这个问题,我给用户发了电子邮件,要求他们再次访问我们的应用程序,当他们这样做时,我会抓住一组新的access_token来使用。但这是有问题的,因为用户对错误发生的原因感到困惑并责备我们,并且一些用户不打开他们的电子邮件,因此问题无法解决,然后当他们发现我们的应用已停止时他们会生气几个星期前没有他们要求它停止。

这就是为什么我希望我可以使用app access_token发布以避免这些问题。由于它适用于用户配置文件,我希望它也适用于页面。但到目前为止没有运气,除非我遗漏了一些明显的东西。

3 个答案:

答案 0 :(得分:1)

您所描述的用于工作 - 去年我们都能够使用应用访问令牌成功发布到粉丝页面墙。事实上,对于我们的一些用户,我发现它仍然有效。但是,我认为其他两个答案是正确的,这不再是发布到页面的方式(参见“页面登录”here

也就是说,您应该能够存储页面的访问令牌 ,以便自己重新查询用户的关联帐户。

不幸的是,根据这里的答案,页面的访问令牌将遭受与用户相同的脆弱性:Facebook Page Access Tokens - Do these expire?。当给您该访问令牌的用户更改其密码时,页面访问令牌将过期。

答案 1 :(得分:0)

要发布到网页,还有一个额外的步骤,您可以使用其令牌获取其网页列表。每个页面都有自己的令牌,使用该令牌发布到页面。请记住,在设置原始令牌时,您需要指定您需要访问页面。

答案 2 :(得分:0)

我的应用程序正是您所追求的。

  1. 我向用户请求manage_pages和offline_access权限。
  2. 我存储了用户的access_token。
  3. 我问用户他们想要一个流项目发布到哪个页面(由我/账户确定)。
  4. 稍后,当发布到页面的源时,我从数据库,pageid和消息中获取用户的access_token。
  5. 使用该用户的访问令牌,我查询我/帐户并获取该帐户的最新访问令牌(又名页面)
  6. 使用该页面的访问令牌,我/我提供(或者是我/发布...目前远离我的代码库)发布流项目。