Ads API で質問です。
広告別レポートを取得する際に、広告ごとのカード情報を取得したいです。 現在、card_id が含まれない Tweet object が出てきて、取得方法がありません。 良い方法があれば、教えてください。
現在、広告に使われているクリエイティブ情報は、 以下のエンドポイントから取得しています。
https://ads-api.twitter.com/2/accounts/:account_id/promoted_tweets 広告 ID ごとの tweet_id を取得
https://api.twitter.com/1.1/statuses/lookup.json tweet_id ごとの card_id を取得
https://ads-api.twitter.com/2/accounts/:account_id/cards/:card_type card_id ごとの情報(画像など)を取得
他に広告とカードを結び付けられるエンドポイントなどあれば、教えてください。
@akikom さん、お問い合わせありがとうございます。
これはこちらのスレッドの内容と同様の質問だと思いますがもし違ったら教えてください。
ありがとうございます。解決できそうです。
先日、コメントを引用いただいた際に、以下の URL がなかったようで、確認が遅くなりました。
お手数をおかけしました。 助かりました。
また、よろしくお願いします。
松澤
@JBabichJapan さん、追加の質問です。
tweet object に card_uri が無いものがありました。
expanded_url に card_id が無く、 card_uri の情報もない場合はどうしたらよいでしょう。
必要な場合は、シークレットで 該当の広告 ID など送ります。
よろしくお願いします。
@akikom さん、ご確認ですがGET statuses/show/:id にinclude_card_uri=trueで呼んでも返ってこないっていうことでしょうか?一応card_uriがまだないオブジェクトもありまして(ビデオウェブサイトカード)、preview_urlとcard_uriが相互排他的でどちらかしか返ってこない仕組みに変わりました。なのでpreview_urlがあるかどうかご確認いただけますか?2018年01月29日以降のカードはcard_uriがありまして、バージョン4までに全ての存在するカードが対応しますが今のところはうまくコードと新しいcards fetchのエンドポイントでif / elseみたいなアルゴリズムを実装しなければならない認識です。まだ解決できなさそうでしたらDMでもこちらのプライベートメッセージみたいな機能でも問題のツイートの詳細を送ってください。
GET statuses/show/:id
オフラインでこの件を解決しましたので他のユーザーさんのためにこちらにも解決方法を載せます。
ツイートがextended tweet (140文字より長い)になりますとtweet_mode=extendedっていうparameter付きでstatuses/show.jsonのエンドポイントに呼ばないと、正確なexpanded_urlが返ってこないようです。ドキュメントにも明確に説明していないと思いますので改善します。