You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Facebook应用中使用系统用户访问令牌无法获取页面访问令牌:仅返回页面ID

解决Facebook Graph API无法获取页面access_token的权限配置方案

核心权限要求

  • 得让系统用户/个人用户拿到**pages_show_list**权限:这是获取页面基础信息(包括access_token)的前提,必须加到应用权限列表里,公开应用还得完成审核。
  • 必须授予**pages_read_engagement或manage_pages**权限:这俩是拿页面access_token的关键,manage_pages更适合管理页面的场景,pages_read_engagement用来读取页面互动数据,也能顺带拿到access_token。

权限配置步骤

  1. 在Business Manager里分配页面权限

    • 进入系统用户的权限设置页,把目标页面的权限分配给它,一定要勾选Manage Page(对应manage_pages权限)或者Read Page Content(对应pages_read_engagement)。
    • 如果是个人用户访问,得保证用户是目标页面的管理员/编辑/运营者,而且已经通过应用授权流程授予了上述权限。
  2. 应用权限提交审核(测试阶段可跳过)

    • 进入Facebook开发者平台的应用审核页,把pages_show_list、manage_pages(或pages_read_engagement)加到待审核权限列表,提交审核时要写清楚真实使用场景。
    • 测试场景下,用应用的测试用户或测试页面,不用等审核就能使用权限。
  3. 验证令牌是否带齐权限

    • 用Facebook开发者平台内的令牌调试工具,输入你的用户令牌或系统用户令牌,确认包含所需权限字段。
    • 也可以用命令行验证:
      curl -X GET "https://graph.facebook.com/v19.0/debug_token?input_token={your_token}&access_token={app_id}|{app_secret}"
      

API调用的正确姿势

  • 一定要用长期有效令牌:系统用户令牌默认长期有效,个人用户令牌得通过/{user-id}/accounts端点交换为长期令牌。
  • 更稳妥的调用方式是直接请求/{user_id_or_system_user_id}/accounts,这个端点会返回所有有权限的页面信息,直接包含页面access_token,示例命令:
    curl -X GET "https://graph.facebook.com/v19.0/{user_id_or_system_user_id}/accounts?access_token={your_access_token}"
    

内容的提问来源于stack exchange,提问作者Umesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 18:07:09