如何通过调用get请求获取页面访问令牌Facebook图形api,java

时间:2016-01-26 08:40:59

标签: java facebook api facebook-graph-api oauth

我正在尝试使用其图形api获取Facebook页面的页面访问令牌,以便在该页面中发布任何内容。

https://developers.facebook.com/tools/explorer我可以获取页面访问令牌,然后我可以使用它在页面上发布。

我经历了堆栈溢出的所有类似问题的答案。但失败了。

这是我的详细信息流程

  1. 首先是代码 - my_code
    http://www.facebook.com/dialog/oauth?client_id=&redirect_uri=&scope=email

  2. 我通过此

    获取user_access_token

    https://graph.facebook.com/oauth/access_token?client_id=my_app_id&client_secret=my_app_secret&redirect_uri=my_redirect_url&code=my_code

  3. 然后是长寿命令牌

    https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=my_app_id&client_secret=my_app_secret&fb_exchange_token=my_user_access_token

  4. 获取my_user_access_token_long后,我请求页面访问令牌

    https://graph.facebook.com/me/accounts?access_token=my_user_access_token_long

    它返回

    {"data":[]}

    如果我尝试https://graph.facebook.com/my_page_id?fields=access_token&access_token=my_access_token_long

    它只返回我的页面ID

    { " id":" my_page_id" }

  5. 请帮我解决这个问题。提前致谢。

2 个答案:

答案 0 :(得分:2)

您需要在第一步中添加manage_pages权限

http://www.facebook.com/dialog/oauth?client_id=&redirect_uri=&scope=email,manage_pages

请参阅文档中的Page Access Tokens

答案 1 :(得分:0)

我看不到此关键页面:

Manually Build a Login Flow

这显示了全部所需的OAuth流程,以及如何在用户验证后如何交换临时代码以及最终的长期访问令牌(据我所见,此令牌的有效期约为60天)。