Facebook 营销 API:Param 必须是有效的 Instagram 帐户 ID

Facebook marketing API : Param must be a valid Instagram account id

我再次使用 Facebook 营销 API。我成功地使用我的 Node.js 应用创建了 Facebook 广告,现在我想为 Instagram 创建广告。

创建AdCreative,我的调用如下:

 fb.api('/act_' + rows[0].ad_act + '/adcreatives', 'post', {
   "name": "Test Instagram",
   "object_story_spec": {
     "page_id": "XXXXX",
     "instagram_actor_id": "YYYYY",
     "link_data": {
       "call_to_action": {
         "type": "LEARN_MORE",
         "value": {
           "link": "http://example.com"
         }
       },
       "image_hash": imgHash,
       "link": "http://url.com",
       "message": "Message test",
       "caption": "caption text",
     },
   }
 });

但是 API 总是 return 相同的消息:

{ message: '(#100) Param  must be a valid Instagram account id',
  type: 'OAuthException',
  code: 100,
  fbtrace_id: 'Dr1XrUANRGr' }

rows[0].ad_act 是正确的帐户 ID。

XXXX 是该广告帐户的有效页面 ID。

YYYY 是一个有效的 instagram ID,被设置为页面的 instagram 广告帐户(设置到 FB)。

我尝试了不同的 Instagram 帐户和页面。

"YYYY is a valid instagram ID that is set as the instagram ads account for the page (setting into FB)."

没有"Instagram ads account"的概念。此 YYYY 需要是有效的 Instagram 帐户(又名个人资料)ID。 "valid",我的意思是:

  1. 不能私密。它必须对 public 可见。 (默认不是私人的。)
  2. 它需要链接到 Facebook 页面或企业​​。 https://developers.facebook.com/docs/marketing-api/guides/instagramads/v2.9
  3. 如果 YYYY 链接到主页,则主页必须是 XXXX。

正如你提到的那样"I tried different Instagram accounts as well as pages.",我觉得你不是在使用一对IG和FB帐户。随机耦合它们是行不通的。

顺便说一句,YYYY 需要是一个数字,您可以在 UI 上找到它,或者在我上面提到的文档中调用 API 找到它。它不能是像 "cooldude".

这样的 Instagram 用户名

这是答案:

必须得到 instagram_actor_id 而不是 instagram_account_id

图 API : /someFbPageID/instagram_accounts 将 return instagram 帐户作为 graphEdge 然后获取该对象的 ID,它是 instagram_actor_id