今回の記事はプログラミングを学んで自動でTwitterを動かしてみようという方向けなので上級者向けの記事になります。興味のある方だけ先に進んでください。
今回はTwitter APIアカウントの取得までを説明しています。
具体的にAPIで何ができるかというと、自分のブログの記事を更新するたびに自動的にTwitterに投稿したり、自動ツイート機能を搭載してボットを作成することができたり、統計情報を使用して、自分のアカウントの分析ができたりします。
実は以前は申請に通るまでのハードルが高すぎるとクレームが入るほどAPIの取得の難易度が高かったのですが最近は落ち着いているようです(いつ難易度が変わるかは分からないので、取れるうちに取っておきましょう。)

Twitter Developerアカウントとは?
先に用語説明だけ済ませておきます。
まず、Twitter Developer申請などと呼ばれていますが、これはAPIキーと呼ばれるTwitterに関連する各種情報を操ることが出来るアクセスキーを発行するまでに必要な申請のことを指しています。
そうしましたら今度はAPIとは何か気になりますよね?
APIとは「Application Programming Interface」の略で、アプリケーションをプログラミングするための繋ぎです。
他のアプリでも実はAPIは公開されていることが多く、Twitterも例外ではありません。
ですが、TwitterではAPIの取得に審査が必要になるのです。
プログラミング?と聞いて尻込みするかもしれませんが、取得するだけでしたら誰でも可能ですので、まずは挑戦してみましょう。
因みにこちらのAPIは基本的には開発者向けになりますので申請の段階で自分がどういったアプリを構築しているのか、Twitterの統計情報は利用するのか、等様々な内容について聞いてきます。
面倒に感じる部分もあるかと思いますが、しっかりついてきてくださいね。
Twitter DeveloperアカウントはTwitterが提供しているAPIキーの取得に必要なアカウント登録の別称であり、利用には審査を通過する必要がある。

申請の準備をしよう!
申請にあたって必要なものを予め揃えておきましょう。
・Twitterアカウント
・認証用の電話番号
・(アメリカorカナダのプロキシ)(承認の確率を上げるためにあった方が便利)
Twitterアカウント登録時に電話番号、もしくはメールアドレスが必須になるのですが、API利用申請の際は電話番号認証まで済ませている必要があるので注意しましょう。
実際に申請してみよう!
では実際に今から一緒にAPI利用申請を出していきましょう!
まずは申請用リンクにアクセスしましょう。Twitterアカウントにあらかじめログインしておくとスムーズです。
そうすると次のような画面が出てくるのでCreate an appを選択しましょう。

次に申請にあたっての利用目的、人物像を聞かれるのでどれかを選択してください。【個人的にはStudentだったり、Doing something elseを選択するとAPI申請が通りやすい気がします。】

選択が終わったらNextを押して次の画面に移りましょう。

ここが一番の難所です。次の目次の部分で徹底的に解説していますのでそちらを参照してください。

その下にも英文を入力する項目が求められますが最低限一つでも埋まっていれば申請は可能なのでそこまで気にしなくても大丈夫です。

あとは右下をポチポチして申請は完了!!

最後に自分のメールボックスに認証用のリンクが届いているので、そちらをクリックしてメールの認証を行います。
※メールが届いていない方は迷惑メールフォルダを確認してください。
時によって異なりますが、メールアドレスを認証した段階でキーをくれる場合もあれば、そうでない場合もあります。今回申請したときは「Application under review」ということで審査待ち状態です。
追加情報を後から求められることがあるので、必要に応じてTwitter社に返信をしましょう。

追加情報を求められたらなるべく丁寧に質問に答えること!
自分がどんなプロジェクトに取り組んでいて、今開発状況がどれくらい、、、等成果が見えるものだと尚良いでしょう。
Webサイトに使用する場合は自身のサイトのリンクを貼り付けることで信用度が増しますし、通過率も上がります。
追加情報を要求されたまま放置しておくとAPI申請は却下となり、そのアカウントでは二度と申請ができなくなってしまいます!十分に注意して申請しましょう。

申請の難関【英文制作】を突破しよう!
前パートで省略してしまった最難関である英文作成に移っていきます。
以前自分が審査を突破した文そっくりそのままになりますので、よかったら参考にしてみてください。
(取り合えず審査だけでも突破したい方は内容を少し変更して提出してみてもいいかも。)

英文を入れる部分は最低一カ所あります。まずは質問文から解説していきます。
最初はHow will you use the Twitter API or Twitter data?です。
どのようにTwitter APIを使用するのかを聞いてきています。ここは記入必須です。英語で200文字以上の入力が必要なのでハードルは高め。
以下が例文なので参考にしてみてください。
I have a website and a Twitter account and I use them pretty often. I want to show article to my twitter timeline every time I make blogging post. Also I want to embed twitter timeline to my website. About the frequency, I will post once a day to my website.Through website and twitter, I want to spread useful information to young engineer and new to website.
私はWebサイトとツイッターアカウントを運用しています。webサイトに投稿した記事をツイッターのタイムラインに表示します。webサイトにツイッターのタイムラインを埋め込みます。webサイトを1日1回程度更新します。webサイトとツイッターを通して、役立つ情報を若いエンジニアやWebサイト新規訪問者に伝えていきたいと思っています。
念のためにもう一つ例を載せておきます。
こちらのWebサイトでは読み手側にどのように英語を勉強するのかを紹介しています。Toeic受験に興味のあるユーザーに定期的にツイートを通じて情報発信をしたく思います。他にもAPIを利用したボットの作成を検討しており、英語の資格を目指している方に単語リスト的な役割としてのツイートをボットで提供したく思います。私はAPIをユーザーの情報収集、またはユーザーの流行、トレンドについての統計集めには使用しません。
上の文もあくまで一例にはなるのですが、私はこちらの文で一発で通過することが出来ました。

続いては【The specifics】に移っていきます。
詳細の項目は合計で4つ。
すべて記入してもいいですし、一つだけでもいいかと思います。
何も記入しなかった場合は高確率で「後程更なる情報を提供してください」とTwitter側から求められますので、そうなるくらいなら最初から一つくらいは項目を埋めておいた方がいいでしょう。

こちらが「Are you planning to analize twitter data?」に対するYesの一例になります。
Based on the likes and retweet of tweet, I will search when the likes and retweet is likely to occur, what kinds of keywords will influence users. With that, I will adjust the timing of tweet or contents of tweet.
“いいね”やRTに応じて、いつ”いいね”やRTが起き、集まりやすいのか、そしてどんなキーワードがユーザーに影響を与えるのかを調べます。そのデータを基にしてTweetの時間を調整したり、Tweetの内容を変更したいと思います。
続いては、「Will your app use Tweet, Retweet・・・?」の文。

続いてのDo you plan to display Tweets or aggregate data about Twitter content outside of Twitter?ではブログでのやり取りをメインとしたい人は詳細を記入してもいいですね。ツイートに対するアクションを収集してクイズを作成したいなど書きようはいろいろありそうです。
Yes I do. I will make blog focused on reaction of my twitter account and may create quiz based on reaction. To know the inclination of the user, I will also aggregate twitter data.
自分のTwitterに集中したブログ記事を作成する予定があり、ツイートの反応に応じてクイズを作成する可能性があります。ユーザーの傾向を知るために、Twitterのデータを収集します。
そして最後の質問であるWill your product…available to a government entity? product…の箇所ですが、NOで大丈夫です。一般人には関係のない項目なのでスルーしましょう。

そして待つこと12時間程度。Twitter側からメールが送られてきました。 承認しましたよ!という内容のメールが届いたので早速見に行くことに。
クリックして次の画面に。
APIキーの二種類の入手が完了。残りの二つの鍵も出迎えに行きましょう。
※必ずこれらの鍵はコピーして残しておいてください!!
この画面に到達する前段階で自分の取り組んでいるプロジェクト名等の設定が求められる場合がありますが、自分の好きな名前に設定して大丈夫です。

鍵マークをクリックしましょう。
これにてAccess Token, Access Token Secretのゲットが完了。合計4種類の鍵を入手しました!!
これはアプリケーションが、ユーザーの代わりにユーザーデータにアクセスするための「通行許可証」的役割を果たすために必要なものになります。

Twitter APIでできること
面倒な申請が必要なAPIですが、それほどの価値があるのか。
実際にAPIを使用してできることをいくつか紹介させていただきます。 タイムラインの取得
例えばTwitterのトレンドを一括で入手したいとき、地域を日本に設定し、取得することで人気のあるツイート一覧を取得することが出来ます。もちろん特定の人物のツイートも一括で取得できますので便利です。
ツイートの投稿 これは無料のアプリでもあるのでお馴染みの機能ですが自分の好きな時間に投稿することが出来るようになります。

フォロー、アンフォローの実行
フォロー関係の操作は実はあまりTwitter側から推奨はされていません。自己責任で行いましょう。
フォローされていないユーザーを一括でアンフォローすることが出来るようになるのでフォロワーを管理したい方は導入を検討してみてください。
アンフォローに対しての規制はあまり聞いたことがないので規制はなさそう?です。
他にも組み合わせで色んなサービスが作れそうですね。特にフォロー管理目的での一括アンフォローは大変便利です。
ググればコードも出てくるので調べてみてください。
最後に
長くなってしまいましたが以上でAPI取得に関しての説明を終了します。
・申請前に電話番号を認証させておくこと!
・申請する際必須項目+α一つの項目はなるべく埋めること。
・Twitter側から詳細情報を求められたら必ず返信すること
申請者の間でかなりハードルが高いと噂されているTwitterアカウントですが、詳細情報を盛り込めば基本的にはパスできるものだと思っています。
申請の段階で住居設定を日本にしておくとTwitterからの返信が日本語で送られてくるケースも多々あり、その場合は日本語で丁寧に返信すれば問題ありません。
一度取ってしまえばその後は自由に使用することが出来ますので是非一度はチャレンジしてみてください。