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

调用Facebook API发布带图页面帖失败,报OAuthException错误

Facebook API 带图片发帖报错排查(OAuthException code:1)

操作流程与问题

我尝试通过Facebook API向Facebook页面发布含图片的帖子,操作步骤如下:

1. 上传图片

$res = Http::post(
        env("FB_API") .
            'my-page-id' .
            "/photos?access_token=" .
            'my-access-token',
        [
            "url" => 'https://cdn.filestackcontent.com/DAOSdaS9ed3GPsJlAmqw',
        ]
    );

返回结果:

{"id":"52305359978858","post_id":"31457605812596_523305373312190"}

2. 发布帖子

$id = json_decode($res->body())->id;

$uri =
    env("FB_API") .
    'my-page-id' .
    "/feed?access_token=" .
    'my-access-token'.
    '&attached_media[0]={"media_fbid":"'.$id.'"}';


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

错误信息

{"error":{"message":"An unknown error has occurred.","type":"OAuthException","code":1,"fbtrace_id":"ARajcZtA7tWcd05G5V71pr"}}

无图片时发帖可正常成功,当前令牌权限包括:

pages_read_engagement,
pages_manage_posts,
pages_show_list,
instagram_basic,
instagram_content_publish,
instagram_manage_comments

错误原因与解决办法

1. 参数传递方式错误

attached_media参数被放在URL查询参数中,导致JSON字符串被自动转义,格式被破坏。Facebook API要求该参数必须放在POST请求的body中,且需为JSON字符串格式。

2. 图片上传逻辑问题

当前上传图片后返回了post_id,说明图片已自动生成一条独立帖子,再用该id关联新帖子会引发冲突。需在上传时添加published=false参数,让图片仅作为媒体资源上传,不自动发布帖子。

3. 修正后的代码

上传图片(修改版)

$res = Http::post(
    env("FB_API") . 'my-page-id' . "/photos?access_token=" . 'my-access-token',
    [
        "url" => 'https://cdn.filestackcontent.com/DAOSdaS9ed3GPsJlAmqw',
        "published" => false // 仅上传媒体,不自动发帖
    ]
);

发布帖子(修改版)

$mediaData = json_decode($res->body());
$uri = env("FB_API") . 'my-page-id' . "/feed?access_token=" . 'my-access-token';

$res = Http::post($uri, [
    'message' => "test",
    'attached_media' => json_encode([
        ["media_fbid" => $mediaData->id]
    ])
]);

额外验证建议

  • 确认使用的是页面令牌而非用户令牌,可通过官方令牌调试工具检查令牌的权限、过期时间及关联页面是否匹配。
  • 确保图片URL可被Facebook服务器正常访问,无防盗链或权限限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 12:44:58