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

PHP SDK调用Facebook广告insights接口提示API版本过时怎么解决?

报错原因
  • 核心问题是你初始化Facebook PHP SDK实例时没有显式指定要调用的API版本,即使SDK本身是v11.0版本,SDK会默认调用内置的旧版本API端点,导致触发版本弃用报错。
  • 额外排查点:你当前的请求路径没有携带版本前缀,也会导致请求被路由到旧版API入口。
解决方案

有两种修正方式,任选其一即可:

方式1:初始化SDK时指定默认API版本

修改Facebook实例初始化代码,新增default_graph_version配置项,代码示例如下:

$fb = new Facebook([
    'app_id' => $app_id,
    'app_secret' => $app_secret,
    'default_graph_version' => 'v11.0', // 新增这一行指定版本
]);
$response = $fb->get(
      '<CAMPAIGN_ID>/insights?fields=actions',
      $access_token,
);

方式2:直接在请求路径中添加版本前缀

不需要修改初始化配置,直接在请求的资源路径前加上对应版本号即可:

$fb = new Facebook([
    'app_id' => $app_id,
    'app_secret' => $app_secret,
]);
$response = $fb->get(
      '/v11.0/<CAMPAIGN_ID>/insights?fields=actions', // 路径前加/v11.0前缀
      $access_token,
);

验证方法

请求完成后可以打印响应头中的facebook-api-version字段,确认实际调用的API版本是否符合预期:

$headers = $response->getHeaders();
echo $headers['facebook-api-version'];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:27:05