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

调用Facebook发布API成功却返回权限错误#10问题咨询

Facebook Graph API 发布带视频帖子成功但返回权限错误的问题

问题场景

我通过Facebook发布API发布带视频的帖子,代码如下:

$res = Http::post(env('FB_API').'31457605812596/videos?published=false&access_token='.'my-token', [
    'file_url' => 'https://cdn.filestackcontent.com/f4Cu9feSQuisHdTuncXz'
]);

$fileIds[] = ['media_fbid' => json_decode($res->body())->id];

$uri =
    env("FB_API") .
    '31457605812596' .
    "/feed?access_token=my-token";

$res = Http::post($uri, [
    "message" => 'Test',
    "attached_media" => $fileIds,
]);

dd($res->body());

帖子已成功发布且视频正常显示,但返回如下错误信息:

{"error":{"message":"(#10) Application does not have permission for this action","type":"OAuthException","code":10,"fbtrace_id":"AKAT6MW-1Z88JUnfH6PZdmP"}}

补充信息

我拥有的权限包括:

publish_to_groups 
pages_manage_engagement 
pages_read_user_content 
pages_read_engagement 
pages_manage_posts 
pages_show_list instagram_basic 
publish_video

我是该目标页面的管理员。

原因分析及解决建议

这不是Facebook端的Bug,帖子成功发布说明核心流程没问题,错误是API调用过程中某个环节的权限校验触发的,具体原因和解决方法如下:

可能原因

  1. 两次调用的权限校验差异:第一次上传草稿视频用publish_video权限即可,但第二次发布feed帖子时,API对attached_media关联草稿视频的操作有额外权限校验,虽然最终发布成功,但校验环节抛出了错误。
  2. Access Token权限有效性问题:虽然权限列表显示拥有相关权限,但实际使用的access token可能未正确包含pages_manage_posts,或者权限已过期、失效。
  3. 隐性权限限制:未通过审核的应用,部分权限在生产环境可能存在隐性限制,即使权限列表显示拥有,也可能触发校验错误。

解决建议

  • 验证Access Token:用Facebook官方的令牌调试工具检查你的token,确认pages_manage_posts和publish_video权限确实有效且未过期。
  • 合并API调用:直接在上传视频时完成发布,避免两次调用的权限冲突,示例代码:
$res = Http::post(env('FB_API') . '31457605812596/videos?access_token=my-token', [
    'file_url' => 'https://cdn.filestackcontent.com/f4Cu9feSQuisHdTuncXz',
    'published' => true,
    'message' => 'Test'
]);

dd($res->body());
  • 检查应用审核状态:如果是测试应用,确保已完成必要的权限审核,避免生产环境的隐性限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 21:22:37