如何用Facebook Graph API推广帖子?解决推广报错问题
解决Facebook Graph API创建广告的像素错误及极简推广帖子方法
错误原因分析
你遇到的error_subcode: 1487888是明确的规则限制:当广告系列的目标设为**转化(Conversions)**时,必须绑定Facebook追踪像素,否则无法创建广告。
两种快速解决路径
路径1:给现有Adset绑定像素
如果坚持用转化目标,需要在Adset中添加tracking_specs参数,指定像素ID:
{ "tracking_specs": [ { "action.type": ["offsite_conversion"], "fb_pixel": ["你的像素ID"] } ] }
可通过Graph API更新Adset:POST /v18.0/<你的Adset ID>,带上上述参数。
路径2:改用无需像素的广告目标(推荐极简方案)
如果只是想快速推广现有帖子,建议把广告系列的目标改为流量(Traffic),这类目标不需要强制绑定像素,参数更少。
极简参数推广帖子步骤(Graph API Explorer测试)
假设你已创建目标为TRAFFIC的Campaign和对应的Adset,只需以下步骤创建广告:
- 获取帖子的object_story_id:帖子ID格式通常是
<页面ID>_<帖子ID>,比如123456_7890123 - 创建广告请求:
- 请求方法:
POST - 请求地址:
/v18.0/ads - 必填参数:
{ "name": "极简推广帖子广告", "adset_id": "<你的Adset ID>", "creative": { "object_story_id": "<你的帖子object_story_id>" }, "status": "ACTIVE" }
- 请求方法:
Laravel + Guzzle 实现代码示例
use Illuminate\Support\Facades\Http; // 配置参数 $accessToken = '你的Facebook API令牌'; $adsetId = '你的Adset ID'; $postObjectStoryId = '你的帖子object_story_id'; // 发送请求 $response = Http::withToken($accessToken) ->post('https://graph.facebook.com/v18.0/ads', [ 'name' => 'Laravel极简推广广告', 'adset_id' => $adsetId, 'creative' => [ 'object_story_id' => $postObjectStoryId ], 'status' => 'ACTIVE' ]); // 处理响应 if ($response->successful()) { $adId = $response->json()['id']; dd('广告创建成功,ID:' . $adId); } else { dd('创建失败:' . $response->json()['error']['message']); }
注意事项
- 确保你的API令牌拥有
ads_management权限 - Adset的预算、定向设置需符合Facebook广告规则
- 如果用Traffic目标,Adset的
bid_strategy可设为LOWEST_COST_WITHOUT_CAP,无需额外出价参数
内容的提问来源于stack exchange,提问作者codewiz
相关产品推荐
相关产品推荐

