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アカウントとして利用を申請
- Postman(またはThunder Client)の環境設定
- Twitter APIからサンプルをPostmanへインポート
- Postman(またはThunder Client)で認証設定
- アプリのパーミッション設定変更
- PostmanからTwitter API v2をテストする
- 例1: Recent Search: Recent Searchとは
- PostmanでRecent SearchのAPIテスト
- 例2: User by Username
- プログラムからAPIを使ってみる
- 公式サンプル
- Postmanでコードを取得
Twitter Developerアカウントとして利用を申請
まず、下記リンクからTwitter Developerアカウントを作成します。
Apply for access – Twitter Developers | Twitter Developer Platform
Developerアカウントの設定詳細は下記の参考記事をご確認ください。
- Tweepyで自動ツイート・自動いいねを実装。Developer Portalの設定方法から解説
- Twitterからユーザー情報の取得・スクレイピング。API利用で禁止事項をクリア
Sandboxについて:
- Twitter API Sandboxの作成・申請方法。30日間検索と全期間検索を無料で実行
Postman(またはThunder Client)の環境設定
APIテストのためPostmanを利用します。
Postman API Platform | Sign Up for Free
Over 20 million developers use Postman. Get started by signing up or downloading the desktop app. What is Postman? Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs-faster.
www.postman.com
PostmanとTwitter API v2を接続させていきます。
当初はPostmanを利用していたのですが、PostmanのUIが分かりづらかったため、途中からVS Code拡張機能でAPIテスト可能なThunder ClientでAPIテストを行いました。
Thunder Client - Rest API Client Extension for VS Code
Thunder Client is a lightweight Rest API Client Extension for Visual Studio Code for Testing APIs. Supports Graphql query. lightweight alternative to Postman
www.thunderclient.com
本文は、大筋ではPostmanで説明していきますが、途中にThunder Clientでの説明画面も挟んでいきます。
Thunder Clientの機能説明や操作方法は、下記の動画が分かりやすかったです。(英語)
Twitter APIからサンプルをPostmanへインポート
まず、Twitter APIのドキュメントからTwitter APIを選択。その中のTwitter API v2の中から、任意のサンプルをインポート。
例: User lookup - GET /2/users | Docs | Twitter Developer Platform
' 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は、最近のツイートの中身を検索し、ヒットするツイートを出力するという内容。
Docs: Search Tweets introduction | Docs | Twitter Developer Platform
たとえば、下記クエリのように 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公式でサンプルコードも開示されています。
Twitter API v2
This is a Postman Collection for the Twitter API v2 endpoints. Refer to the main [Twitter API documentation](https://developer.twitter.com/en/docs) for more details. If you have an API-related question, you can also discuss in the developer [community forum](https://twittercommunity.com). ## Installation ### Quick install Go to the [Collection](https://t.co/twitter-api-postman) and click `Run in Postman`.
documenter.getpostman.com
GitHubにも置いてあります。
GitHub - twitterdev/Twitter-API-v2-sample-code: Sample code for the Twitter API early access endpoints (Python, Java, Ruby, and Node.js).
Postmanでコードを取得
Postmanでテストを通過すると、そのままPostmanからコードを取得することが可能です。
Postmanでテストを行い、無事に通ることが確認できたら、画面右メニュー'</>'からCode sniippet画面を開く。
Code snippet画面を開いたら、クリップボードにコピー。
コード自体を全選択してコピーでも良い。
cURLの場合、ターミナルを開き、Enterを押して実行。
Postmanで試したBodyが返ってくることが確認できます。
Category: 開発・プログラミング | エンジニアリング
Tags: API | Twitter