PromotedTweetからCard情報を取得する方法について


#1

@JBabichJapan

お世話になっております。

PromotedTweetからクリエイティブ(Card)情報を取得する方法ですが、
こちらを参考にさせていただき、


PromotedTweetが保持しているtweet_idから
tweet情報を取得し、tweet情報のexpanded_urlの最後をカードIDとして取得しています。

これでほとんどのものはカードIDが取得出来ているのですが、
一部のものだけtweet情報の中のentitiesが空の状態でその中のexpanded_url自体が取れない状態となっています。
そのためカードIDが取得できないのですが、広告の管理画面上ではこの広告のカードIDが表示されています。

管理画面でカードIDが取得出来ているということは何かしらの方法で
tweetIdを使って、カードIDを取得する方法がある気はするのですが、
expanded_urlを使う以外に手段はありますでしょうか?


広告idごとに使用しているカードを特定したい
#2

@ktym さん、お問い合わせありがとうございました。

実はカード周りをv2にもv3にも機能を増やして、作成する側に関してできるだけ「card_uri」っていうものに移行しようと思って推奨しています。紐づいてるオブジェクトではパブリックAPIからでもそのcard_uriが取れるようになりましたので便利になりました:


広告APIにexpanded_urlsがない場合、そちらに調べる2段階ステップでもいいと思います。

それでカードURLとIDでルックアップできるエンドポイントもv3から提供しています。
https://developer.twitter.com/en/docs/ads/creatives/api-reference/cards-fetch

将来的にcard_uriに100%移行してからどのカードにもそういう風にcard_uri固定で探せると思いますが、現在はcard_uriで作成されたカードだけに出てくる認識です。card_uriについては、バージョン2のアナウンスにも説明が書いてあります。


カードIDが「expanded_url」に含まれない
#3

@JBabichJapan

ご回答ありがとうございます。
早速

  1. パブリックAPI statuses/lookupにinclude_card_uri=trueを付け、card_uriを取得
  2. Ads API /3/accounts/{account_id}/cards?card_uri={card_uri} でcardを取得

こちらの方法でcardを取得することが出来ました。ありがとうございます!

expanded_urlを分解するよりこちらの方がシンプルで使い勝手も良いです。ありがとうございました!