どうもイトサル(@itosaru)です。
Twitter API v2はTwitterアカウントがあればだれでも使うことが可能です。
しかし初期すべてのAPI機能を使うことができるわけではなく、一部の機能は制限されています。
これはTwitter API上でアクセスレベルが設定されているためです。
アクセスレベルについてはこちらの記事をご覧ください。
この記事ではElevatedアクセス権限を取得するための申請手順について説明します。
なお、私の場合はすんなりと承認とはならず、数回のメールのやりとりを経て、翌日に承認されました。
申請はTwitter Developer Portalから行う
Elevatedアクセス権限の申請はTwitterのDeveloper Portalから行います。
それでは早速やっていきましょう。
1.Developer Portalを開き、左サイドメニューの[Products]から[Twitter API v2]をクリックします。

2上部のタブ[Elevated]をクリックします。

3.[Apply]をクリックします。

4.Twitterの開発者の基本情報画面が表示されます。その中で「What’s your current coding skill level?(あなたのプログラミングスキルはどれくらいあるの?)」という項目があるので選択します。


多分どれを選んでも審査には影響しないと思います。
その下にある「Want updates and access to more resources?」はおそらく開発に関するアップデート情報などのメールを受信するかの設定です。必要であればチェックを入れましょう。
それぞれ選択したら画面下の[Next]をクリックします。
5.Twitter APIをどういう目的で使うのかを記入します。

注意点はその目的を英語で記入しなければいけないという点です。
私は英語レベルが高くないので、まず日本語で文章を書いて下記の翻訳サイトを使って英語にしました。

また目的についてですが、おそらくElevatedでしかできない機能があるから、というニュアンスで書いた方が良さそうな気がします。

私の場合はPythonからTwitter APIを使う勉強をしていて、DMの送信機能を使いたいけどElevatedでしかできないから今回申請しました。という文章にしました。
文章を書いたら画面下の[Next]をクリックします。
6.Twitter APIのどの機能を使うのかの確認画面が表示されます。

各項目で自分が使う予定のものにスイッチを入れます(初期値だとすべてON)
それぞれの日本語訳はこんな感じです。
No | 項目(英語) | 項目(日本語) |
---|---|---|
1 | Are you planning to analyze Twitter data? | Twitterのデータを分析する予定ですか? |
2 | Will your App use Tweet, Retweet, Like, Follow, or Direct Message functionally? | Twiter APIを通じてツイート、リツイート、いいね、フォロー、ダイレクトメッセージを使う予定ですか? |
3 | Do you plan to display Tweets or aggregate data about Twitter content outside Twitter? | Twitter以外のコンテンツでTwitterに関するデータやツイートを掲載する予定ですか? |
4 | Will your product, service, or analysis make Twitter content or derived information available to a goverment entity? | 作る予定の製品やサービスは政府機関が Twitter のコンテンツまたはそこから派生する情報を利用できるようにしますか? |
この使う予定の機能についてもどういった目的で使うかの理由を英語で書かなければいけません。

ここにおいてもまず日本語で文章を考えて翻訳した文章を付けました。私の場合は2と3について記載しました。それぞれ日本語でこんな感じです。
2.ダイレクトメッセージ機能をPythonから実行したいです
3.ブログをやっているのでそこに掲載する予定です
書き終わったら画面下部の[Next]をクリックします。
7.確認画面が表示されます。内容を確認して問題なかったら[Next]をクリックします。
(変更や修正したいものは[Edit]で修正できます)

8.Twitterのデベロッパーポリシー画面が表示されます。内容を確認して問題なかったら画面下部の同意チェックを入れ、[Submit]をクリックします。

9.画面が切り替わり、Elevatedの申請が完了しました!それと同時にTwitterから審査を受け付けた旨のメールが届きます。承認されるかどうか待ちましょう。

追加での確認がある場合はTwitterからメールが来る
うまくいけば上までの手順でElevatedアクセス権限の承認が来ますが、不明点や申請内容に問題ありと判断された場合はTwitterからこのようなメールが来ます。

ざっくり訳すと
「申請してもらったTwitter APIの利用目的はデベロッパーポリシーに反してるよ。デベロッパーポリシーの内容をもう一度確認して改めて利用目的をこのメールに返信してね。」
といった感じです。
私の場合は最初の申請時に「自動化」と書いていたためそこが規約違反ととらえられたっぽいです。(Twitter APIは自動的なフォローや良いねを禁止しているため)
そこで「自動化」という単語を使わずに、24時間以内に一度DMを送る機能を実装する予定です。みたいな感じで逃げることにしました。

言葉の綾ですが具体的に何をするかをきちんと述べたほうが良いという情報を見ました。
ちなみにこの返信も英語で書きました。
うまくいけばこのメールで承認されるはずです。
それでもまだ不明点等があればメールが来る
上のメールでもまだ不明点等がある場合には再度Twitterから確認メールが来ます。
しかしこのメールは英語ではなく日本語で来ました。


もしかすると英語レベルが低すぎて日本語で送ってきてくれたのかもしれません。
それぞれ使う予定なのか、使うなら具体的にどのような目的で使うのかを日本語で記載して返信します。
無事承認!
その後TwitterからElevatedのアクセスを承認する旨のメールが届きました!

これでElevatedでしか実行できない機能を使うことができます。

人によってはさらにメールのやり取りや残念ながら承認されないというパターンもあると思います。
まとめ
この記事ではTwitter APIのElevatedアクセス権限の申請手順について説明しました。
英語で文章を書くのが面倒ですが翻訳サービスなどを使ってうまく対応しましょう!
コメント