Twitter API v2の利用方法について、Developer Portal上でのAPIアプリ設定から、PostmanおよびThunder ClientでAPIテストを疎通させるまでを解説しています。Postman, Thunder Client自体の使い方についても解説。
Twitter API v2をプログラムから便利に利用できるPythonライブラリ”Tweepy”で実施してみた記事は TweepyをTwitter API v2経由で利用する をご覧ください。
本記事は技術書展の書籍: とらい!Twitter新API:ゐろはカルタ を参考にしています。
目次:
Twitter Developerアカウントとして利用を申請
まず、下記リンクからTwitter Developerアカウントを作成します。
Apply for access – Twitter Developers | Twitter Developer Platform
Developerアカウントの設定詳細は下記の参考記事をご確認ください。
Sandboxについて:
Postman(またはThunder Client)の環境設定
APIテストのためPostmanを利用します。
PostmanとTwitter API v2を接続させていきます。
当初はPostmanを利用していたのですが、PostmanのUIが分かりづらかったため、途中からVS Code拡張機能でAPIテスト可能なThunder ClientでAPIテストを行いました。
本文は、大筋ではPostmanで説明していきますが、途中にThunder Clientでの説明画面も挟んでいきます。
Thunder Clientの機能説明や操作方法は、下記の動画が分かりやすかったです。(英語)
Twitter APIからサンプルをPostmanへインポート
まず、Twitter APIのドキュメントからTwitter APIを選択。その中のTwitter API v2の中から、任意のサンプルをインポート。
' Run in Postman > ' をクリックし、その先の画面右上の' Run in Postman'をクリックするとインポートできます。
Postman(またはThunder Client)で認証設定
参考にした動画:
Postmanを開く。
Collections > Twitter API v2 > 右上から'Twitter API v2' を選択。その後に'視覚マーク'アイコンをクリックすると認証情報が表示される。
現行のversionでは認証情報を格納する箇所が少し変わっていました。
上記のconsumer_key....など5つの認証情報をすべて入力します。
すべてTwitter Developer Portalから入手可能。
Developer Portal > Project & Apps > Overview: Standard: + New Project で新規プロジェクトを作成。
現在ではElevatedとStandalone Appsの2種類がありますが、ElevatedからAdd Appを行いましょう。
実験用の場合は、App EnvironmentはDevelopmentを選択しておきましょう。
新規プロジェクトを作成すると、APIキーが作成されます。
TwitterのAPIキー名称は、Postmanの下記それぞれのVARIABLEに対応。
【TwitterAPIでの名称】 | 【Postmanでの名称】 |
API Key | consumer_key |
API Secret Key | consumer_secret |
Access Token | access_token |
Access Token Secret | token_secret |
Bearer Token | bearer_token |
Postman認証のCURRENT VALUEの欄に上記、自分の鍵情報を入力していきます。
INITIAL VALUEは、Postmanをチームとして利用している場合に共有される値。自分ひとりで利用する場合には埋めなくてよいでしょう。
Thunder Clientの場合は、Envから新しくEnvを作成し、 上記5つの鍵情報を変数として保存しておきましょう。
保存した変数は、{{ }}で使用することができます。
アプリのパーミッション設定変更
Developer Potal上で作成したアプリのアクセストークンをみてみましょう。
Developer Portal > Projects & Apps > 作成したアプリの鍵マーク
Access Token and Secretキーのところをみると、読み込み専用のパーミッションで作成されています。
権限を変更するため、ダッシュボード > 歯車マーク'App Settings'を選択。
次画面の’User authintication settings’ > 'App Permissions'でパーミッション設定変更ができます。
ここでは、App permissionsはRead and write, Type of AppはWeb App, Automated App or Botを選択しておきます。
アプリで使用するURL, 自社WebサイトのURLを入力する必要があります。
権限は運営から不審がられないように、必要最低限の権限にすること。
PostmanからTwitter API v2をテストする
例1: Recent Search: Recent Searchとは
Recent searchは、最近のツイートの中身を検索し、ヒットするツイートを出力するという内容。
たとえば、下記クエリのように query=新発売 を指定してGETリクエストを送ると、ツイート内容に「新発売」を含む最新ツイートをいくつか取得できます。
https://api.twitter.com/2/tweets/search/recent?query=新発売
公式ドキュメントのRecent search quick start | Docs | Twitter Developer Platform が分かりやすいです。
PostmanでRecent SearchのAPIテスト
PostmanでCollection > Twitter API v2 > Search Tweets > Recent search を選択。
右画面のKEY: query の項目で、VALUEに調べたいキーワードを入力。
すると、画面下に結果が出力される。
例2: User by Username
User Lookup > Users by Username
User情報は、デフォルトではdata内容が絞られています。
KEYのuser.fieldにチェックを入れて、取得したいユーザー情報の値(field)をコンマ形式でVALUEに入力。今回は下記。
- created_at
- description
どんなfieldが存在しているのかについては下記参照。
Twitter DevのDocumentation > The new Twitter API > Fundamentals > Data dictionary > 各オブジェクト
User object | Docs | Twitter Developer Platform
プログラムからAPIを使ってみる
Postmanでテスト通過させた設定で、そのままコードとしてプログラムで利用できる方法をご紹介します。
PythonでプログラムからTwitter API v2を利用する方法について、 TweepyをTwitter API v2経由で利用する も参考にしてください。Tweepyは公式APIを使いやすくしてくれるPythonライブラリです。
Tweepyについて参考: Twitterからユーザー情報の取得・スクレイピング。API利用で禁止事項をクリア
公式サンプル
Twitter公式でサンプルコードも開示されています。
GitHubにも置いてあります。
Postmanでコードを取得
Postmanでテストを通過すると、そのままPostmanからコードを取得することが可能です。
Postmanでテストを行い、無事に通ることが確認できたら、画面右メニュー'</>'からCode sniippet画面を開く。
Code snippet画面を開いたら、クリップボードにコピー。
コード自体を全選択してコピーでも良い。
cURLの場合、ターミナルを開き、Enterを押して実行。
Postmanで試したBodyが返ってくることが確認できます。
Category: 開発・プログラミング | エンジニアリング