LoginSignup
0
0

More than 5 years have passed since last update.

Facebook Custom Audience API を利用したリスト更新

Posted at

Faceboook Marketing API
https://developers.facebook.com/docs/marketing-api/custom-audience-api/v2.8

これを利用して、日々変わる広告対象のユーザー情報を自動更新していた。
しかし、2016年7月に作成したカスタムオーディエンスの枠組みと、2016年10月に作成した際、画面側の仕様が変わり、登録される情報が変更された。

何が起こったか

  • 実行
curl -F 'payload={ "schema": "EMAIL_SHA256", "data": ["EMAIL","EMAIL"]  
  }' \
  -F 'access_token=<AccessToken>'
  • 結果

{"error":{"message":"(#2650) Failed to update the custom audience: This audience was created from data source FILE_IMPORTED.MULTI_HASHES, which does not support data source FILE_IMPORTED.HASHES_OR_USER_IDS.","type":"OAuthException","code":2650,"fbtrace_id":""}}

data source が違うよって

変更された情報の確認

curl -G \
-d 'access_token=<AccessToken>' \
https://graph.facebook.com/v2.8/<CustomAudienceID>\?fields\=data_source | jq
  • 旧作成の枠組み確認結果
{
"data_source": {
  "type": "FILE_IMPORTED",
  "sub_type": "HASHES_OR_USER_IDS", 
  "creation_params": "[]"
},
"id": "<CustomAudienceID>"
}
  • 新規作成の枠組み確認結果
{
"data_source": {
  "type": "FILE_IMPORTED",
  "sub_type": "MULTI_HASHES",
  "creation_params": "[]"
},
"id": "<CustomAudienceID>"
}

HASHES_OR_USER_IDS → MULTI_HASHES

さすが Facebook! 仕様変更なんてがんがんやっちゃう!そこにしびれるあこ・・・
どこにも解決方法載ってないし、つらすぎ

解決策

いろいろ試した結果、以下のようにださーい方法で解決できた。

curl -F 'payload={ "schema": ["EMAIL_SHA256"], "data": [  
  ["EMAIL"],["EMAIL"]]  
  }' \
  -F 'access_token=<AccessToken>' \

EMAIL 1列しか使っていないにも関わらず、新たな仕様では1列でも MULTI_HASHES として認識される仕様へ変わった。
その為、全て [] で囲めばいいじゃんってことらしい。

これに気づくのに2時間もかかった・・・。

Marketing API を利用した事例が少なすぎるので、みんな使って事例欲しい

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0