【2022年】TwitterAPI v2 の仕様まとめ・セットアップ方法
はじめに
こんにちは、ダイゴです。
2021年11月から、Twitter のデフォルトAPIが v1.1 から v2 に変更されました。
v2 に関する日本語記事が少ない&アクセスレベルや利用申請方法も変更されているため、本記事では、v2 の仕様まとめ・セットアップ方法について解説していきます。
どなたかの参考になれば幸いです。
目次
- Twitter API v2 のアクセスレベル
- Developer アカウント登録(Essential利用)
- Elevated プランへのアップグレード方法
1. Twitter API v2 のアクセスレベル
v2 のアクセスレベルは以下の 3つです。
- Essential
- サインアップするだけですぐ使える
- 無料
- tweet caps は50万ツイート / 月
- 作れる環境は 1つ
- Elevated
- 申請が必要
- 無料
- 200万ツイート / 月
- 環境は 3つ作成可能
- v1.1 のAPIにもアクセス可能
- Academic Research
- 学術的な使い方する場合に使う
- 申請が必要
- 無料
v1.1 との大きな違いは、利用申請が簡単になったことです。
以前までは、すべてのアクセスレベルで英語による利用申請が必要でしたが、v2 から Essential プランの場合は申請が不要になり、サインアップするだけですぐに使えるようになりました。
Essential プランでも、取得制限は 50万ツイート / 月 なので、「とりあえず触ってみたい」「簡単な Bot を作りたい」といったユースケースの場合はこちらで十分かと思います。
より詳しい各プランの違いは、公式Doc で詳細に記述されているので、そちらをご覧ください。
本記事では、開発者アカウントへの登録(Essential利用)と Elevated API へのアップグレード方法について解説していきます。
2. Developer アカウント登録(Essential利用)
Twitter アカウントを作成しておきます。
TwitterAPIの公式ページから、APIを使用したいアカウントにログインした状態で Sign Up します。
Developer Portal (開発者用の画面)に遷移します。
電話番号をTwitterアカウントに登録しろと言われる場合は、Twitterアカウントの設定画面から登録しておきます。
いくつかの簡単な質問に回答し、利用規約に同意します。
認証メールから認証を行うと、App(APIを利用するアプリケーション)の作成画面が表示されます。
私の場合、TwitterAPIを使ったモバイルアプリを作成する予定だったので、そちらのアプリ名を入力しました。
すると、ものすごく重要なKey達 が生成されるので、安全な場所にすべてコピーしておきましょう。
このフローはスキップしても大丈夫ですが、試しに curl で実行してみて、レスポンスが帰ってきたらOKです。
% curl -X GET -H "Authorization: Bearer <コピーしたToken>" "https://api.twitter.com/2/tweets/20"
{"data":{"id":"20","text":"just setting up my twttr"}}
これで、TwitterAPI v2 にアクセスできるようになりました。
ユースケースによってはこちらのプランで十分ではありますが、Essential では環境が一つしか作れないという制限があり、個人的に Dev Prod の環境分けを行いたかったので、次に Elevated プランの申請方法について解説します。
3. Elevated プランへのアップグレード方法
Developer Portal から、申請フローを開始します。
基本情報を入力し、
Twitter API の用途を入力していきます。(In English とあるので英語で記入した方が良さそう)
こちらは人によって違うと思うので、参考までに自分の申請文言を載せておきます。(DeepLにまかせる→自分で軽く添削、が早くてオススメです)
- How will you use the Twitter API or Twitter Data?
There are two things we want to make.
The first is an iOS/Android application that retrieves and lists tweets about cats.
The second is a bot that retrieves popular tweets about cats and replies to them.
- Are you planning to analyze Twitter data?
→ No
- Will your App use Tweet, Retweet, Like, Follow, or Direct Message functionality?
→ Yes
We will use the reply function.
For example, to a cat tweet with over 10,000 likes, "That's cute!" We plan to send a reply to the effect that
If it is difficult to use the reply function, we will consider using the quote retweet function.
- Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?
→ Yes
We plan to create an iOS / Android app that lists cat-related tweets.
We plan to create a tweet list screen and a detail screen.
The detail screen will also include a function to jump to the Twitter mobile app.
- Will your product, service, or analysis make Twitter content or derived information available to a government entity?
→ No
内容を確認し、利用規約に同意すると、Elevated API へのアクセスが承認されました。
恐らくここからTwitter側で審査して、ダメだった場合はリジェクトの連絡が来るのだと思います。(自分の場合は何もありませんでした)
せっかくアップグレード出来たので、Dev・Prod の環境それぞれのアプリを作成していきます。
Add App を選択し、
作りたい環境を選択します。(初期アプリは Develop になっていました)
アプリ名を設定します。Prod環境なので、[アプリ名] | Production としました。
Production 環境用の ものすごく大事なKey達 が生成されます。
環境分けが完了しました。
さいごに
今回の v1.1 → v2 の変更で、API の仕様が大幅に変わっており、v2 はまだ情報量も少ないので、これからも Twitter API 関連の情報発信をしていけたらと思います。
最後までご覧いただき、ありがとうございました。
Discussion