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

获取用户访问令牌(Graph API)时权限缺失,无法发布个人动态

解决方案:Python Facebook SDK发布个人动态的权限与配置问题

核心问题梳理

  1. publish_actions权限已废弃:该权限早已被Meta移除,当前发布个人动态需要的是publish_posts权限。
  2. 必须配置Facebook Login产品:哪怕没有真实运营的网站,也需要添加该产品才能获取包含发帖权限的访问令牌。

具体操作步骤

1. 配置Facebook Login产品

  • 进入Meta开发者平台的应用后台,添加「Facebook Login」产品,选择「Web」平台类型。
  • 设置一个测试用的重定向URL(比如http://localhost:8000),无需真实部署网站,开发模式下可直接使用,完成后保存配置。

2. 获取含正确权限的访问令牌

  • 打开Graph API Explorer,选择你的目标应用。
  • 在权限列表中勾选public_profile和publish_posts权限(注意:开发模式下,仅应用的管理员/开发者或测试用户可获取该权限;面向普通用户使用需提交应用审核)。
  • 生成新的访问令牌,替换代码中的access_token值。

3. 代码验证

你的代码逻辑本身无问题,确保使用的令牌包含publish_posts权限即可正常运行:

import facebook

def post_to_feed(access_token, message):
    try:
        graph = facebook.GraphAPI(access_token)
        graph.put_object("me", "feed", message=message)
        print("Post successfully posted to your personal feed.")
    except facebook.GraphAPIError as e:
        print(f"Error occurred: {e}")

if __name__ == "__main__":
    access_token = "你的有效访问令牌"
    message = "Hello, world! This is my test post."
    post_to_feed(access_token, message)

错误原因说明

你遇到的#200错误本质是权限不足:仅public_profile权限仅能获取用户基础信息,无法执行发帖操作。错误信息中提及群组/页面权限是API的通用提示文本,实际是因为缺少个人发帖必需的publish_posts权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 18:10:24