全部PHPで書いているので他の言語を使うときは読み替えて下さい。Twitter APIのライブラリはTwistOAuthを使っています。
ここで説明するのは公式のAPIからの取得のみです。作成はここからでは出来ません。出来るのは取得のみです。
公式のキーでログインする必要があります。サードパーティではアンケートの情報が一切入らないためです。
// Twitter for Macのキーでログイン
$to = TwistOAuth::login("3rJOl1ODzm9yZy63FACdg", "5jPoQ5kQvMJFDYRNE8bQ4rHuds4xJqhvgNJM4awaE8", $sn, $pw);
取得でのパラメーターはcards_platform
とinclude_cards
があれば取得できます。
include_cards
はtrue
で固定ですが、cards_platform
は環境ごとに違うみたいです。
自分が確認した限りでは
iPhone-13
iPhone-8
Android-10
がありました。
// statuses/user_timelineを使ってアンケート情報を取得
$response = $to->get("statuses/user_timeline", ["screen_name" => "hirotoyoyo", "include_cards" => true, "cards_platform" => "iPhone-13"]);
statuses/user_timeline
の場合は全部をforeach
で回して、その中のcard
の存在を確認してcard
が存在していればアンケート情報が入っています。
なお、アンケートでは無いツイートはcard
が空になっています。
foreach($response as $data) {
if (isset($data->card)) {
var_dump($data->card);
}
else {
echo "アンケート情報が無いです。".PHP_EOL;
}
}