【问题标题】:Unable to post to facebook page using app token无法使用应用令牌发布到 Facebook 页面
【发布时间】:2015-08-27 23:18:56
【问题描述】:

我正在构建我的第一个 Facebook 应用程序,但遇到了一个问题。

任务:构建一个完全服务器端的应用程序,供 Facebook 页面的管理员用于在页面上发布视频/照片。这不应该涉及让管理员每次都登录以生成用户访问权限和页面访问令牌。

我的发现:根据需求,我发现app tokens可以用于此目的。这一行特别暗示了它的用处。

应用访问令牌还可用于代表已向您的应用授予开放图发布权限的人向 Facebook 发布内容

我认为使用它是安全的,因为我是一个完全服务器端的应用程序。

问题文档说:

GET /oauth/access_token? client_id={app-id} &client_secret={应用程序秘密} &grant_type=client_credentials

将提供可用于代替用户访问令牌的应用令牌。 但是,我无法这样做。具体遇到的错误是 错误 200。用户必须已接受 TOS。由于我已经尝试使用 页面访问令牌 发布内容,我知道这是一个权限问题。

下面一行

已向您的应用程序授予开放图发布权限的人。

并没有说明一切。我遇到了a related question,但答案似乎有点模糊。

如果有人能告诉我如何实现这一点,那就太好了。

【问题讨论】:

    标签: facebook facebook-graph-api facebook-apps facebook-access-token


    【解决方案1】:

    要发布到页面,您至少需要获得manage_pages 权限。如果您想以“用户身份”发布,您需要添加publish_actions 并使用“用户访问令牌”。如果要发布“作为页面”,则需要添加publish_pages 并使用“页面访问令牌”。

    有关如何生成这些令牌的信息:

    TOS 的错误信息已经讨论过很多次了,请转到那些帖子(或使用搜索功能查找更多内容):

    【讨论】:

    • @luschn,非常感谢您的描述。我已经完成了有关异常的问题,其中大多数都没有被 OP 回答或接受。果然,它们对我也没有效果。
    • 我随机遇到了同样的问题。我们得到 TOS 错误(不准确/不具描述性)。如果这是 TOS 问题,请指出我应该在哪里接受 TOS。如果是权限问题,请给我一条权限被拒绝消息。调试token后,我们确认token有效(2个月过期),token有权限管理页面,发布页面等,但是posting会返回这样的消息。此回复中给出的参考资料都指向相同的故障排除“检查权限,确保令牌仍然有效,等等等等。但没有一个解决问题。
    • 如果仅有效期为 2 个月,则它是扩展用户令牌,而不是扩展页面令牌
    • 拜托,如果您对某事投反对票,最好解释一下原因。
    【解决方案2】:

    您不能通过应用访问令牌发布到页面。这在文档中明确说明

    • 具有 publish_actions 权限的用户访问令牌可用于代表该人发布新帖子。帖子将以用户的声音出现。
    • 具有 publish_pages 权限的页面访问令牌可用于代表该页面发布新帖子。帖子将出现在页面的声音中。

    我建议使用永久页面访问令牌,因此没有义务更新用户访问令牌。看看我的回答:

    【讨论】:

    • 嗨@Tobi,我认为你的断言是不正确的,因为我已经在 app access token 的帮助下成功发布到页面。看到这个developers.facebook.com/docs/facebook-login/…
    • 我不这么认为。看看文档。 @luschn 说的和我差不多。
    猜你喜欢
    • 1970-01-01
    • 2015-08-29
    • 2012-11-20
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    相关资源
    最近更新 更多