背景
Twitter API v2は、本記事執筆時点のTwitter APIの最新バージョンです。Twitter開発者プラットフォームは、2020年6月にTwitter API v2のアーリーアクセス版を公開し、2021年11月にTwitter API v2の安定バージョンをリリースしました。
本稿では、Twitter開発者プラットフォームの登録から、Twitter API v2にはじめてのリクエストを送るまでの方法をご紹介します。
目標
このチュートリアルを最後まで進めると、Twitter開発者プラットフォームの登録方法から、Twitter API v2への基本的なリクエストの送信方法が学べます。
Twitter API v2へのリクエストの送信方法は、以下の4種類をご紹介します。
- cURL
- Twitter API v2サンプルコード
- Postman
- Twitter API v2 SDK・ライブラリ
必要項目
このチュートリアルを最後まで進めるには、以下の項目が必要です。
- Twitterアカウント
- APIの基礎知識
ステップ1:開発者登録する
Twitter API v2を使用するには、Twitter開発者プラットフォームで開発者登録をする必要があります。開発者登録は、基本情報の入力のみで、申請理由などを長文で記入する必要はありません。
Twitter開発者プラットフォームの登録ページの [Sign up] をクリックします。
まだTwitterにログインしていない場合は、ログインします。
開発者登録フォームに必要事項を入力します。
Twitterアカウントにメールアドレスが連携されていない場合は、[Add email] から追加します。
必要事項が入力できたら、[Let’s do this] をクリックします。
利用規約が表示されます。利用規約を確認し、同意ボックスにチェックを入れます。[Submit] をクリックします。
Twitterアカウントに連携したメールアドレスに、確認メールが送信されます。届いたメールを開き、[Confirm your email]をクリックしてメールアドレスを認証します。
これで、開発者登録が完了しました。次に、アプリケーションを作成します。
ステップ2:アプリケーションを作成する
アプリケーションの命名画面が表示されます。アプリケーション名を入力し、[Get keys] をクリックします。
Twitter APIの利用に必要なアプリケーションの認証情報が表示されます。
認証情報は、一度しか表示されませんので、安全な場所に保管してください。認証情報は他者に共有しないでください。
各認証情報の概要は以下のとおりです。
-
API Key(APIキー)
アプリケーションのユーザー名にあたる情報。 -
API Key Secret(APIキーシークレット)
アプリケーションのパスワードにあたる情報。APIキーと、シークレットをもとに、アプリケーションを判別し、APIを利用する権限を持っているかを確認します。 -
Bearer Token(ベアラートークン)
Twitter APIを安全に利用するための、アプリケーション単独認証トークン。
これで、リクエストを送信する準備ができました。
ステップ3:HTTPリクエストを送信する
本稿では、ツイートを、ツイートIDをもとに取得できる、Tweets lookupエンドポイントにリクエストを送信します。
リクエストの送信方法を、4種類ご紹介します。
1. cURLを使用する
一つ目は、ターミナルでcURLを使用してリクエストを送信する方法です。以下のコード例は、@TwitterDevJPが発行したツイート(ツイートID:1577176033891332096
)の情報を取得する方法を示しています。 {ベアラートークン}
を、ステップ2で取得したベアラートークンに置き換えて、ターミナルで以下のコードを実行します。
curl -H "Authorization: Bearer {ベアラートークン}" \
"https://api.twitter.com/2/tweets/1577176033891332096"
以下のようなレスポンスが返ってきます。
{
"data": {
"edit_history_tweet_ids":[
"1577176033891332096"
],
"id":"1577176033891332096",
"text":"お待たせしました!ツイート編集について、Twitter API v2からのメタデータの読取りが可能になりました。編集済みのツイートや編集履歴、関連するフィールドの値が取得できます。 https://t.co/PhBUSH1at0"
}
}
ぜひ、Tweets lookupエンドポイントのAPIリファレンスページを参照して、ツイート作者に関する情報や、ツイートの言語、ツイートに含まれるメディアやURLなど、さらに詳しいデータを取得してみてください。
たとえば、ツイートの言語は、以下のようにエンドポイントにtweet.fields=lang
を追加して取得できます。
curl -H "Authorization: Bearer {ベアラートークン}" \
"https://api.twitter.com/2/tweets/1577176033891332096?tweet.fields=lang"
2. Twitter API v2サンプルコードを使用する
Twitter開発者プラットフォームがGitHubで公開している、言語ごとのサンプルコード集を使用してリクエストを送信することも可能です。本稿執筆時点では、JavaScript、Python、Ruby、Javaのサンプルを提供しています。
本稿では、一例として、JavaScript (Node.js)でTweet lookupエンドポイントにリクエストを送信する方法をご紹介します。
ターミナルで、任意のディレクトリで以下のコマンドを実行して、サンプルリポジトリをクローンし、リポジトリに移動します。
git clone https://github.com/twitterdev/Twitter-API-v2-sample-code.git
cd Twitter-API-v2-sample-code
以下のコマンドで、必要なライブラリをインストールします。
npm install needle
ベアラートークンを環境変数として設定します。ターミナルで以下のコマンドの{ベアラートークン}
を、前のステップで取得したベアラートークンに置き換えて、実行します。
export BEARER_TOKEN='{ベアラートークン}'
リポジトリのTweet lookupフォルダに移動し、get_tweets_with_bearer_token.js ファイルを実行します。
cd Tweet-Lookup
node get_tweets_with_bearer_token.js
ファイルに指定されたツイートに関する以下のようなデータが、レスポンスとして返ってきます。
{
data: [
{
id: '1278747501642657792',
edit_history_tweet_ids: [ '1278747501642657792' ],
lang: 'en',
text: "It's been a year since Twitter's Developer Labs launched.\n" +
'\n' +
"As we build towards the next generation of the #TwitterAPI (coming VERY soon), see what we've learned and changed along the way. https://t.co/WvjuEWCa6G",
author_id: '2244994945'
},
...一部省略
]
}
3. Postmanを使用する
Twitter API v2にリクエストを送信する方法として、Postmanも有効です。Postmanは、GUIを使ってリクエストURL、パラメータ、ヘッダーなどを指定してHTTPリクエストを行うことができるツールです。
本稿では、Tweet lookupエンドポイントにPostmanを通してリクエストを送信する方法をご紹介します。
まだPostmanでアカウント登録していない場合は、登録します。
Twitter API v2公式コレクションのフォークを作成します。
Twitter API v2コレクションから、[Tweet Lookup] > [Single Tweet]を選択します。
[Path variables]のid
キーの値に、取得したいツイートのIDを指定します。
[Authorization] タブを選択し、[Type]をBearer Token
に変更します。[Token]に、前のステップで取得したベアラートークンを入力します。
[Send]をクリックします。
以下のようなレスポンスが返ってきます。
4. Twitter API v2 SDKやライブラリを使用する
Twitter API v2には、多くのSDKやライブラリが存在します。Twitter API v2のSDKやライブラリは、Twitter開発者ドキュメントの「Tools and libraries」 から確認できます。
本稿執筆時点で、以下の2点のTwitter公式SDK(ベータ版)が存在します。
- Java SDK
-
JavaScript/TypeScript SDK
JavaScript/TypeScript SDKから、エンドポイントごとのリクエストスニペットを自動生成できるTwitter API Explorerもぜひご活用ください。
また、その他にも開発者コミュニティの皆さまが構築してくださったTwitter API v2 SDKが多数掲載されています。ぜひ、お使いのプログラミング言語のライブラリをお試しください。
最後に
本稿では、Twitter開発者プラットフォームの登録方法から、Twitter API v2へのはじめてのリクエスト送信方法までをご紹介しました。
Twitter API v2は、日々開発者の皆さまのフィードバックをもとに、進化を続けています。今後のプロダクトロードマップも公開しておりますので、ぜひご確認ください。