使用Graph API自动发布到多个Facebook页面 - 验证问题

时间:2018-02-12 17:19:32

标签: facebook facebook-graph-api

我想把我的头发拉出去试图了解Facebook要我做什么才能作为系统用户发布到FaceBook页面,该系统用户拥有我们的业务所拥有的管理员和页面权限(我们有Facebook业务经理)。

在坚果壳中,我想做的就是拨打这个电话:

https://graph.facebook.com/v2.5/${MyPageID}/feed

我没有得到的是 access_token 部分。 我可以为应用程序,页面生成访问权限,但所有结果都是从FaceBook返回的结果。我已经走了很远,并检查了图表api上生成访问令牌弹出窗口上的每个可用框,但仍然得到403“禁止”,所以我详细说明了我对FaceBook Auth的疯狂的理解,希望有人可以解释哪里出错了。

1)作为系统用户发布到页面我必须创建一个FB应用程序(我更喜欢直接发布到页面并跳过应用程序部分,我的系统用户在所有页面上都有管理员访问权限)

2)要访问应用程序,我需要一个应用程序令牌。

3)要创建App令牌,我需要一个用户令牌。

4)要创建用户令牌,我需要登录Facebook并在应用程序上拥有各种权限。 (我无法以系统用户身份登录!FB要求我自己登录。我不确定这是否会破坏生成的Auth Token?)

5)然后有各种交换令牌来获得永久应用令牌,另一个潜在失败点!

6) IF 星星和月亮对齐并且你站在你的头上,永久的App键可以作为 access_token

传递到上面的呼叫

我不明白如何将我要发布的页面链接到创建的应用程序。每页必须有1个应用程序吗?

我有一个页面可以使用,我们最初使用该应用程序来验证Instant Article Graph API:

https://graph.facebook.com/v2.5/${MyPageID}/instant_articles

我无法将上述令牌用于/ feed网址,我必须生成一个具有额外发布权限的新令牌,并且发布的网页没有任何问题,但是当我更改 $ {MyPageID} 使用相同的 access_token 到另一个页面我得到了403。

我尝试创建一个新的应用程序,我不知道它们如何链接到特定页面所以对我来说应用程序似乎有点多余。

对于我做错了什么或者如何使用/ feed api向系统用户发布各种FB页面的任何帮助?

使用HTTP Posts从Spring Boot Java APP进行调用。

1 个答案:

答案 0 :(得分:1)

如何获得系统用户身份验证和页面身份验证:

1)为应用程序生成用户令牌(系统用户上方的按钮):

https://business.facebook.com/settings/system-users/${System User ID}?business_id=${your_business_manager_id}
  • 系统用户在您需要发布的每个页面上都有Page Admin。
  • 应用程序只是一个FB应用程序,不知道它是什么,它是一个分组我生成一个令牌。
  • 我选择:(manage_pages,publish_pages,publish_actions,pages_manage_instant_articles,pages_show_list)

2)检查您的访问令牌:

https://developers.facebook.com/tools/debug/accesstoken/?access_token=${The access token you got from the step above}&version=v2.12
  • 这将为您提供令牌适用的应用ID以及持续时间(我们需要永久令牌)

3)使用Graph API Explorer获取此令牌有权访问的帐户:

https://developers.facebook.com/tools/explorer/${Your FB APP ID}/?method=GET&path=me%2Faccounts&version=v2.12

4)使用上面的输出查找要发布到

的每个页面的页面验证

5)依次发布到每个页面:

https://graph.facebook.com/v2.5/${MyPageID}/feed