dtn.jpでは、Twitter APIで取得したデータを使って作ったサイト「ツイータン」以外にも、「ディレクトリ型検索エンジンdtn」の検索画面、「人気ファッションブランドランキング」のブランド詳細画面でもTwitter APIへ接続していました。

とはいえ、APIキーは初回に取得したものしか作っておらず、上記3サイト分のAPI接続を1つのAPIキーで行ってしまっていたため、先日「ツイータン」をみるとAPIへの接続制限エラーがでてしまっていました。

Twitter APIでは、APIへの接続を15分間隔でカウントしているので、15分間放置しておけば制限エラー自体は直りますが、たった一つしかないAPIキーにレート制限を受けてしまうと、Twitterのトレンド情報をcronで取り続けている「ツイータン」用の定時処理にも影響がでてしまうため、複数のAPIキーが欲しいとは前々から考えておりました。

そこで、この記事では複数のAPIキー取得にチャレンジをした結果、新しくなったDeveloper Portal画面に強制的に移行され、そこで複数APIキーを作成することができた話をご紹介したいとお思います。

ただし、私のようにTwitter APIのバージョン1.1時代にAPIキーを取得して、まだ旧管理画面(Twitter Developer)を使っている方向けの説明にはなります。

というのも、途中で申請文を英文で送信するといったことはやったものの、送信後にすぐ新しいDeveloper Portalに入ってAPIキーの追加ができていたので、審査というものがすっ飛ばされていた感じでしたので。

新規でTwitterのAPIキーを取得する場合は、申請内容の審査があるとは思いますので、英文はちゃんとしたものをしっかり書いた方が良さそうです。ご注意下さい。

Twitter APIの利用に必要なAPIキー

2018年の記事でもご紹介していましたが、Twitter APIへの接続に必要な認証キーは4つ存在します。

Twitter APIが登場した1.0時代にはユーザアカウント毎にレート制限を設けていたようですが、APIバージョン1.1になってからは、APIのアクセストークン毎の制限になっておりました。

このため、接続制限を受けるのはそのアクセストークンキーのみとはなりますので、Consumer Key, Consumer Secret, Access Token, Access Token Secretという4つのキーが複数セットあれば、レート制限の回避策がとれるようです。

ということで、早速TwitterAPIキーの複数取得に進みたいと思います。

旧デベロッパー画面でAppを追加

旧Twitter APIのdeveloper画面
旧Twitter APIのdeveloper画面に「Create an app」ボタン

今現在、新規でAPIキーの取得をすると、デベロッパー管理画面はもっとカッコよい新バージョンになっていると思いますが、私のように2018年頃のTwitter API バージョン1.1時代にアカウントを取得していた方は、上記画像のような旧Developer画面で表示がされていると思います。

登録してあるAppの右上を見ると、「Create an app」という青色ボタンがありますので、ここから複数APIキーの追加ができそうな感じです。早速、APIの追加に進んでみます。

アプリ制作者の選択画面が表示

Twitter API Developer Portal - Professional_Hobbyis_Academic
「Twitter API Developer Portal」で開発者の属性選択

「Create an app」という青色ボタンを押すと、「Developer Portal」という画面が表示され、アプリ制作者の属性を選択するような画面がでてきました。

Professional」「Hobbyist」「Academic」の3項目ありましたが、商用サイトでもない個人サイト運営者ですので、迷わず「Hobbyist」を選択しました。

制作するアプリの概要選択画面が表示

Twitter API Developer Portal - Making a bot_Building tools for Twitter users_Exploring the API
「Twitter API Developer Portal」でアプリの概要選択

すると、今度は「Making a bot」、「Building tools for Twitter users」、「Exploring the API」と、制作するアプリの概要を選択する画面が表示されました。

ボットを作るでもなく、Twitterユーザ用のアプリを作るわけでもないので、APIの探求というのを選択してみると、やっと「Get started」ボタンが表示されたので、次に進むことができました。

Twitterアカウント他の個人情報登録

Twitter API Developer Portal - 個人情報の登録
登録済のTwitterアカウントやメールの個人情報が表示

登録しているメールアドレス、Twitterアカウント等の情報が記載された画面が表示されました。登録済みの情報以外にいくつか質問が設けられています。

what would you like us to call you?(何と呼べばいい?)とか、what country do you live in?(どの国に住んでいるの?)といった質問はいいとして、what’s your current coding skill level?(あなたの現在のコーディングスキルは?)という答えにくい質問もあったりします。

Twitter API Developer Portal - スキルレベルの選択
コーディングスキルの選択項目

No experience」、「Some experience」、「Highly experienced」との選択肢でしたので、まぁ多少はやったことあるだろということで、恥ずかしながらもSome experienceを選択。

Twitter APIの使用目的の確認(英語)

Twitter API Developer Portal - API使用目的の確認(英語で)
API使用目的を英語で記載せよとの画面

すると、How will you use the Twitter API or Twitter Data?(Twitter APIまたはTwitterデータをどのように使用しますか?)との質問があり、しかも、お前の言葉で説明せよとのテキストボックスが表示されていました。

しかも、細かく書くほどに承認が早くなるぞ、といった一言までついています。

In English, please describe how you plan to use Twitter data and/or APIs. The more detailed the response, the easier it is to review and approve.(TwitterのデータやAPIをどのように使用する予定かを英語で説明してください。応答が詳細であるほど、レビューと承認が容易になります。)

Twitter API Developer Portal – API使用目的の確認

こんなの聞いてないよ。。。という感じですが、仕方ないので「ツイータン」でやっているTwitter Trend APIを使ったデータ取得についてあれこれ説明を書き、Google翻訳様に文章をそのままコピペして、翻訳生成された英文をフォームに張り付けておきました。

これで終わりかと思いきや、まだまだ質問フォームが下に存在します。

Twitter API Developer Portal - API使用目的の確認(英語で)続き
API使用目的を英語で記載せよとの画面(続き)

Please describe how you will analyze Twitter data including any analysis of Tweets or Twitter users.(ツイートやTwitterユーザーの分析を含め、Twitterデータを分析する方法を説明してください。)と、次は分析方法を更に細かく書いておけとのことでした。

分析といっても、そんな大したことはやっていませんので、「ツイータン」で取得しているTwitter Trend APIに独自でスコアリングして集計するといったことを文章に仕立てて、再度Google翻訳様で翻訳生成された英文をフォームに張り付けました。

アプリの更なる機能確認(英語)

続く質問、Will your app use Tweet, Retweet, Like, Follow, or Direct Message functionality?(アプリはツイート、リツイート、いいね、フォロー、ダイレクトメッセージ機能を使用しますか?)については、ツイート関連の機能を使う予定がないのでオフに。

最後の質問、Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?(Twitter以にのTwitterコンテンツに関するツイートや集計データを表示する予定はありますか?)は、ウェブで公開をするのでオンにしてみました。

すると、Please describe how and where Tweets and/or data about Twitter content will be displayed outside of Twitter.(Twitterのコンテンツに関するツイートやデータが、Twitterの外部に表示される方法と場所を説明してください。)との質問が表示されましたので、私のウェブに公開されるよといったことを文章にして、またまたGoogle翻訳様で翻訳生成された英文をフォームに張り付けました。

やっと入力内容確認画面が表示

Twitter API Developer Portal - 入力内容確認画面(個人情報)
入力内容確認画面が表示

英語テストのような作業をこなし、やっと入力内容確認画面が表示されました。はじめはTwitterアカウントやメールアドレス他の入力確認画面が表示されています。

Twitter API Developer Portal - 入力内容確認画面(英文回答)
英文回答の入力内容確認画面が表示

画面の下の方を見ると、先程入力した英文の確認画面も表示されました。読み返しても、結構滅茶苦茶な英文ですので、審査という単語に少々心配になってしまいました。

Twitter Developer Policyの同意確認

Twitter API Developer Portal - デベロッパーポリシー同意画面
デベロッパーポリシーの同意画面

英文が心配ではあったものの、そのまま次にと進むと最終的な「Twitter Developer Policy」への同意を求められました。特に支障もないので同意をします。

emailの認証

Twitter API Developer Portal - メールアドレス認証
メールアドレス認証後にアプリ審査開始との文言

Time to verify your email(メールを確認する時間です)との記載がされた画面が表示されました。

が、その下の文章をみると、Once verified, your application review will begin.(確認が完了すると、アプリケーションのレビューが開始されます。)との記載があり、内容に対する審査のようなことをするとの記載がありました。

送信した英文が、深く考えずに書いた文章をGoogle翻訳様で英文にしただけだったため、結果がどうなるのか少々心配にはなりました。

新Developer Portalに切り替わる

新しいTwitter API Developer Portal画面
新しいTwitter API Developer Portal画面

メール送信したよの画面で一旦終わってしまったので、デベロッパーサイトのトップ画面に再度戻ってみたところ、旧画面ではない、この新しいDeveloper Portalという画面が今度は表示されました。

まだメール認証すらしていない気もしますが、旧画面からこの流れで来た人は細かい審査は特に無しということかもしれないです。念のため、メールが届いていないか調べてみたところ、しっかり認証用の確認メールが届いておりました。

Twitter API Developer Portal - メールアドレス認証で届いたメール
メールアドレス認証で届いたメール

バージョン1.1のAPIのキーは10個までOK

Twitter API Developer Portal画面でスタンドアロンAppの追加が可能
スタンドアロンAppの追加が可能でした

新しいDeveloper Portalでは、「Standalone Apps」という箇所に、これまで使っていたAPIキーのアプリが置かれてありました。

その下にある「Create App」というボタンからAPIキーが追加できるようで、見ると、QUOTA: 1 OF 10 APPS(10個中1個のアプリ)とあるので、どうやら10個までAPIキーを作っても良いようです。

早速ながら、APIキーを1つ追加をしてみたところ、超簡単にAPIキーを増やすことができました。元々のアプリには公式バッチみたいなアイコンが付いていましたが、追加したものはシンプルな画像アイコンだったので、アイコンぐらいは自分で追加しろということのようです。

APIのバージョン2も利用可能

Standalone Apps」部分ではなく、管理画面トップのDashboardから「 Create Project」ボタンを押していくと、どうやら新しくリリースされたTwitter APIのバージョン2のスタンダード(無料)というアクセスレベルで、APIバージョン2エンドポイントの利用ができるようです。

いずれAPIバージョン1.1も新バージョンに統合されるらしいので、早めにバージョン2を試しておいて損はないかもしれないです。

最終的に1.1バージョンのスタンダード、プレミアム、エンタープライズのAPIはすべて、新しいAPIに替わります。

Twitterの開発者ブログ

おわりに

本当に新規でAPIキーの申請をした場合は、途中の英文申請内容で一度審査が入るのかもしれませんが、私の場合は特に審査もなく、Twitter APIバージョン1.1用管理画面から、バージョン2に対応した現行の管理画面に移行することができました。

この運営ブログを読んで、Twitter APIを使ってちょっと遊んでみようかな程度で申請をしようとすると、制作するアプリの概要すら固まってないと思いますので、英文で構想を書くというのは結構困りそうです。

とはいえ、Twitter APIの安定度&機能の良さは、「ツイータン」用に10分おきにデータを取って1年以上走らせても一切トラブルなかったことでも実証済みですので、頑張って申請をしても絶対損はしないと思います。

新規で申請予定の方も是非参考にしてみてください。