Twitterの新しいAPI v2でユーザ情報を取得してみる

ツール関連

今までTwitterのAPIといえば、コロコロと仕様を変更する悪魔のような存在でした(開発者にとって)

ところがそんなAPIもとうとうv2になり、大きく仕様を変更しました

まだ細かく仕様を追えてませんが、とりあえず新しいAPIをPHPで叩いて情報を取得できるところまでをやってみました

開発画面を有効にする

ツイッターの開発コンソールで、新しい開発画面を有効にします

ダッシュボードが新しくなりました

あとはAPIのプロジェクトを追加します

そうするとBearer Tokenが発行されます(APIの呼び出しにはこれを使います)

ユーザ情報を取得(Tweet lookup)

ニックネームを渡してユーザ情報を取得するやり方です

Curl

$ curl "https://api.twitter.com/2/users/by/username/ユーザネーム" -H "Authorization: Bearer <上で取得したBearer Token >"

Laravel (guzzle)

Laravel + guzzleを使う場合はこんな感じで取得できます

$response = Http::withToken(<上で取得したBearer Token >)
                ->get('https://api.twitter.com/2/users/by/username/ユーザネーム',
                [
                    'user.fields' => 'profile_image_url'
                ]);
 
dump($response->body());

出力

{ "data": { "id": "2244994945", "name": "ユーザネーム", "username": "ユーザネーム", "profile_image_url" : "https://pbs.twimg.com/profile_image/abcdefghijk" } }

オプション

リクエストパラメータとして指定してる

'user.fields’ => 'profile_image_url’はユーザのプロフィール画像のパスを取得するオプションです

そのほかでも例えば、'user.fields’ => 'created_at’とすればアカウントの生成日が取得できます

そのほかのオプションは公式サイトをご覧ください