【问题标题】:Facebook API: How to post to a page wallFacebook API:如何发布到页面墙
【发布时间】:2011-07-14 04:03:24
【问题描述】:

here的情况一样,但是现在我需要在Facebook Page的墙上发消息。

我尝试了以下(其他代码与答案相同):

$facebook->api('/PAGE-ID/feed', 'post', $attachment)

但我得到了错误

(#200) 用户尚未授权应用程序执行此操作。

我认为我对该操作的 access_token 错误,但我在哪里/如何获得正确的?

【问题讨论】:

    标签: php facebook facebook-graph-api facebook-authentication


    【解决方案1】:

    关于获取 access_tokens 和权限的 Facebook 文档记录在其网站 Here 上。

    如果您想离线发布,您将需要获得一个 永久 access_token,该访问令牌具有发布到用户状态页面的权限。您必须拥有永久(或offline_access)令牌才能执行此操作,而不必担心令牌过期。

    在请求 access_token 时,您可以在发出的 GET 请求中添加额外的权限属性,在该键中您可以指定所需的额外权限。

    编辑: 获取具有范围权限的令牌的过程是here,在“授权”部分下查看第二个示例。它将有一个请求额外权限的“范围”示例。权限曾经记录在 OAuth 流程中,但它们似乎已经移动,抱歉。

    【讨论】:

    • 我必须自动执行此操作,并且无需手动访问 Facebook 页面,脚本必须自动获取访问令牌。
    • @Poru,这是不可能的 AFAIK。所有应用程序都必须通过 Canvas 托管,或者专门启动浏览器让用户登录,然后返回令牌。这一切都在 api 文档中进行了介绍。授予令牌后,您可以从另一个进程中重用它。
    【解决方案2】:

    该错误消息听起来更像是您拥有访问令牌,但权限错误。阅读extended permissions

    当您的用户登录/授予您“应用”的权限时,您可能需要请求“publish_stream”。

    【讨论】:

      猜你喜欢
      • 2011-08-11
      • 1970-01-01
      • 2011-11-10
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 2013-10-08
      相关资源
      最近更新 更多