API facebook不会在页面上发布Feed

时间:2015-11-29 12:55:18

标签: php api facebook-graph-api

我想通过API在Facebook页面上发布供稿。我在facebook开发人员中关注了facebook文档创建应用程序。在我注册帐户facebook(例如:test_account)之前,我已经创建了业务活动的页面(例如:test_page),其中manage admin是" test_account"。 我已经通过Graph API Explorer

访问了API
  

https://developers.facebook.com/tools/explorer

我已授予" publish_actions "并采用界面工具生成的访问令牌,如图所示

enter image description here

之后我尝试了调用POST请求来测试页面facebook(test_page)上的发布提要

  

https://graph.facebook.com/ {id_page_business} /饲料消息= test_message&安培; =的access_token {access_token_APP}

我已经收到了新的ID_feed,我在Facebook页面上看到了Feed,确定了,但是第二天的访问令牌已经过期了。如何才能拥有不会过期的访问令牌? 我尝试了另一种解决方案,从调用GET请求(作为文档)

获取访问令牌

(第1步) enter image description here

所以我获得了与APP关联的访问令牌(见下文)

=的access_token {APP_ID} | xxxxxxxxxxxxxxxxxxxxxjw

(第2步)我已拨打电话GET请求

  

https://graph.facebook.com/ {APP_ID} /帐户的access_token = APP_ID} |?xxxxxxxxxxxxxxxxxxxxxjw

我已经获得了以下回复:

 {
  data: [1]
       0:  {
          id: "xxxxxxxx"
          login_url: "https://developers.facebook.com/checkpoint/test-user-login /132173517148280/"
          access_token: "123456........"
}

paging: {
cursors: {
before: "yMTczNTE3MTQ4Mjgw"
after: "yMTczNTE3MTQ4Mjgw"
}
}
}

(步骤3)所以我尝试了调用POST请求,在Facebook页面上发布了最后一个访问令牌(123456 ........)并且我收到了

{
id: "1256xxxxxx_133346xxxxxx"
}

但在页面业务中我看不到Feed ...为什么? 重要:我注意到我是否通过请求GET API来获取所有供稿页面(https://graph.facebook.com/ID_PAGE/feed?access_token=CAAPG1DFdxrs..........。)我可以看到已发布的供稿,但是在Facebook界面时间线中我没有'看到饲料。 我注意到API发布的feed返回:

message: "test"
created_time: "2015-11-29T16:39:44+0000"
id: "APP_ID_138999329797136"

当我从API Graph发布带有访问令牌的feed时,id的第二部分是不同的。

1 个答案:

答案 0 :(得分:0)

您需要在页面访问令牌上使用扩展令牌才能在页面上发布。应用访问令牌将为您提供对页面的所有读取权限,但不允许您发布。

以下步骤必须提供帮助 -

  1. 使用 -

    获取页面访问令牌
      

    https://graph.facebook.com/ {APP_ID} /帐户的access_token = {APP_ID} |?XXXXXXXXXXXX

  2. 使用页面访问令牌获取扩展令牌,下面是我使用VB.NET实现的方式

      

    Dim parameters As Object = New ExpandoObject()
      parameters.client_id = FB_APP_ID
      parameters.client_secret = FB_APP_SECRET
      parameters.grant_type =“fb_exchange_token”
      parameters.fb_exchange_token = short_token'FBClient.AccessToken
      昏暗的结果As Object = FBClient.Get(“oauth / access_token”,参数)

  3. 使用此扩展令牌在页面上发布。它对我有用,希望它对你有帮助。