Twitter API 登録 (アカウント申請方法) から承認されるまでの手順まとめ　※2019年8月時点の情報 

#本投稿の背景
**※申請画面が初投稿時(2018年9月)と変わってましたので、内容を更新しました ※2019年8月時点の情報となります**

[Python Twitterからツイートを取得してテキスト分析(wordcloudで見える化)](https://qiita.com/kngsym2018/items/3719f8da1f129793257c)　という記事を書いていて、
Twitter APIのアカウント申請 について、再度画面キャプチャーの確認をしたら
アカウント登録申請方法が変わっていました。。

[Twitter、API使用条件を厳格化　「厳しすぎる」開発者から悲鳴も](http://www.itmedia.co.jp/news/articles/1807/26/news079.html)

本投稿では変更された　Twitter API 登録 (アカウント申請方法) について画面キャプチャー、メールのやりとりもキャプチャーして纏めました。結果としてTwitter API 登録は承認されました。

※今後、アカウント申請方法は変更されると思いますので
　本投稿のタイトルには、アカウント登録申請したときの日付(2019年8月時点)と記載してます

　Twitter APIの登録申請を検討している方の参考になれば幸いです



#Twitter API でできること
[TwitterのAPIについて](https://help.twitter.com/ja/rules-and-policies/twitter-api)より

＞Twitterにある情報をできるだけ広く共有するために、
＞API （アプリケーション・プログラミング・インタフェイス）を
＞通してTwitterデータにプログラムレベルでアクセスし、企業、開発者、利用者に提供します。

⇒TwitterAPIを使用してTwitterのつぶやきを取得したり、APIを使用したアプリからツイートやリツイートしたり、
　いいねをつけたり等できます。

[Python Twitterからツイートを取得してテキスト分析(wordcloudで見える化)](https://qiita.com/kngsym2018/items/3719f8da1f129793257c)　では
Twitterのつぶやきを取得しています。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/261475/c5bdcecc-cc7c-5058-2c89-6fc51b53fc1f.png)


#期間 (アカウント申請から 承認されるまで)

**実際にかかった時間は、1日**

＝＝＝＝＝
　2019年8月3日 新たにTwitterアカウント作成して　Twitter APIを登録申請
　2019年8月3日 Twitter社から TwitterAPI の使用用途についての確認メールがきた
　2019年8月3日 TwitterAPIの使用用途を記載してメールを返信　　
　2019年8月3日 Approveされたメールが届いた！　
＝＝＝＝＝
※承認まで短時間で行われるようになってました(2018年9月時点では、12日かかっていました)



#Twitter API 登録 (アカウント申請方法)  から承認まで

以下のステップを画面キャプチャを使用して説明します。

**1.Twitterアカウント作成して　Twitter APIを登録申請**
**2.Twitter社から Twitter API の使用用途についての確認メールがきた**
**3.Twitter APIの使用用途を記載してメールを返信**
**4.Approveされたメール**


##1.Twitter API 登録申請

###1.Twitter Developerのページにアクセス
　https://developer.twitter.com/ にアクセス
![image.png](https://qiita-image-store.s3.amazonaws.com/0/261475/72afd340-1ae6-91d8-1551-371825c8d9c4.png)

###2.Twitter Developerにログイン
[Sign In]をクリック
![image.png](https://qiita-image-store.s3.amazonaws.com/0/261475/59813dec-4410-f214-abaf-ea23987b70a6.png)


Twitter登録で使用したメールアドレス、パスワードを入力してログイン
![image.png](https://qiita-image-store.s3.amazonaws.com/0/261475/63a91b3d-712d-619e-ac3c-dd2ee613ce2d.png)

###3.Twitter API 登録(アカウント申請)
[Apply]をクリック
![image.png](https://qiita-image-store.s3.amazonaws.com/0/261475/0575ebbb-4635-e1a8-1735-99d584c9aadb.png)

[Apply for a developer account]をクリック
![image.png](https://qiita-image-store.s3.amazonaws.com/0/261475/0f853acf-1e9e-ec6b-94f3-204353b71416.png)

Twitter APIを使用する目的はどれ？ときかれるので該当するものを選択して、
[Next]ボタンをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/cfe6f25a-9522-8f46-917e-3a453afe20f3.png)


[Add a valid phone number]をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/646859fa-1c0f-5a7e-fc87-a6ce167b125e.png)

[Japan]を選択して、携帯番号を入力して、[Next]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/cd16b61b-14af-0862-d71c-e4287c237760.png)

携帯に送信された認証コードを入力して、[Verify]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/9954689a-688f-e258-5d58-6ae45a17bc1c.png)

認証コードを入力すると、[Next]がクリックできるようになるのでクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/97528158-b477-8f69-677f-e476f262abff.png)

次は所属組織に関する情報を入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/360258b6-b0e2-a747-91bf-94e336c53752.png)

情報入力して[Next]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/2dd1dd91-586a-4faf-699d-3589509315fc.png)

Twitter API使用用途の入力
Twitterデータをどのように分析するのかを説明。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/bfcfb79f-4e74-e9fe-001e-f3e59901820e.png)

Twitter API使用用途の詳細入力
※使用用途に該当する場合は、英語で説明。該当しない場合は、[Yes]ボタンをクリックすると[No]にします

１．どのようにTwitterデータを分析するかを説明
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/a4fe9a17-7e6f-2b02-4db1-4394d1a31ea7.png)


２．ツイート、リツイート等するか説明
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/8e71843d-04b0-889c-986f-c9d6be6abe83.png)


３．Twitterデータを外部公開する場合はその方法と公開場所を説明
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/6bd7e295-b2ee-a410-fff6-1604a1fc3e9f.png)

４．政府機関で利用されるか
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/382b2896-37c9-0130-51f6-d840a7f0c607.png)

[Next]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/49decda6-a8a8-05fa-a427-ce6026de6d5f.png)


入力確認画面が表示され、問題ないのであれば、[Looks Good!]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/6047ce03-baf1-319b-0a7b-a1c0312e847b.png)

利用規約画面が表示されるので同意
画面を下にスクロールさせます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/2e892c12-2f76-067e-c1d2-d5611feca51c.png)

同意のチェックを入れ、[Submit Application]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/d00322a2-fd49-ae3d-482e-d6425b3c95e9.png)

申請完了の画面が表示される（このタイミングでメールが送られる）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/28597c49-4d32-e369-5a56-d555f872bf3b.png)

送信されたメール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/15eabc47-228e-76eb-10f2-b09aede64d54.png)
メールにある[Confirm your email]をクリック
⇒レビュー中と内容のページにとばされる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/88ceb2dc-bd36-9caa-d0ad-26580b3bdb8f.png)



合わせてレビュー中というメールも送られます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/4f844824-673d-a8a6-20f4-91cc5cff8309.png)



登録申請から約３時間後、Twitter社からメールがきました。

##2.Twitter 社から Twitter API の使用用途についての確認メール

登録申請を完了させるため、追加でTwitter APIを使用する情報がほしいとメールがきました。
追加情報はこのメールに返信でいいとのこと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/89ad09b1-650d-2507-8234-1e3ec598b690.png)


##3.Twitter APIの使用用途を記載してメールを返信
こんな感じで返信しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/d717dfbf-e04b-06bc-f654-c0abe28b500d.png)

各確認項目に対して回答しました。
(Google翻訳に手伝ってもらいました。。)


##4.Approveされたメールが届いた
Twitter APIの使用用途を記載してメールを返信して３０分後に
登録申請がapproveされたメールがきました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/0af82a74-baef-7130-0a19-51986ccdb2f4.png)


#Twitter APIの認証コードを取得

TwitterAPIを使用して Twitterのつぶやきを取得する際、
認証に「Consumer API Keys」、「アクセストークン情報」が必要になります。
Twitter APiの登録申請の承認後に「Consumer API Keys」、「アクセストークン情報」を取得します。

承認されたメールのリンク[developer account]をクリック
もしくは、https://developer.twitter.com/en/account/get-started　
にアクセス
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/0af82a74-baef-7130-0a19-51986ccdb2f4.png)


[Create an app]を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/257948e8-53c7-c9f1-dfcd-8d9d053431e3.png)


[Create an app]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/a61191e4-5922-eeda-5305-19e86d4ffd3b.png)



アプリケーション情報登録
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/65dc0dd7-60fe-bb49-077a-39f0f357fa12.png)

アプリを作らないので一旦自分のQiitaのURLを登録 
Twitterのサインインもチェック入れず
その他、Twitterのつぶやき取得には関係ないので未記入
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/ba48c153-e0e9-cd6e-282f-a9508fa47203.png)


Twitter API　を使用したアプリの使い方を記入して[Create]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/3f038bf1-8dbc-1dae-78cd-e22b8c39a050.png)

確認画面が表示されるので、[Create]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/42659cf3-ebf8-741e-7f74-0df6d382a570.png)

※注意点として、登録するアプリ名が自分以外に使用している場合、
　エラーになります。画面はアプリ名を「apptest」で作成したケースです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/a08efe3d-0d1e-5644-ecd2-ee315e1a72b1.png)



登録画面が表示されるので、[Keys and tokens]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/91daa288-c2f7-f0b7-cbb5-1f7d41eb5e74.png)


「アクセストークン情報」を作成。[Create]をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/f04f3fc3-a5bd-63dc-ea4c-92e79c67d4ed.png)



「Consumer API Keys」、「アクセストークン情報」を確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261475/fa79c2f2-5937-d98c-c8fc-c0753a2b5599.png)



#「Consumer API Keys」、「アクセストークン情報」を使用したPythonスクリプト
[Python Twitterからツイートを取得してテキスト分析(wordcloudで見える化)](https://qiita.com/kngsym2018/items/3719f8da1f129793257c)　より抜粋

```python:get_twitter_data.py
import tweepy
import datetime

def gettwitterdata(keyword,dfile):
    
    #Twitter APIを使用するためのConsumerキー、アクセストークン設定
    Consumer_key = '<TwitterAPI登録申請して取得した API key>'
    Consumer_secret = '<TwitterAPI登録申請して取得したConsumer_secret>'
    Access_token = '<TwitterAPI登録申請して取得したAccess_token>'
    Access_secret = '<TwitterAPI登録申請して取得したAccess_secret>'
    
    #認証
    auth = tweepy.OAuthHandler(Consumer_key, Consumer_secret)
    auth.set_access_token(Access_token, Access_secret)

    api = tweepy.API(auth, wait_on_rate_limit = True)

    #検索キーワード設定 
    q = keyword
    
    #つぶやきを格納するリスト
    tweets_data =[]
    
    #カーソルを使用してデータ取得
    for tweet in tweepy.Cursor(api.search, q=q, count=100,tweet_mode='extended').items():
                
        #つぶやき時間がUTCのため、JSTに変換  ※デバッグ用のコード
        #jsttime = tweet.created_at + datetime.timedelta(hours=9)
        #print(jsttime)

        #つぶやきテキスト(FULL)を取得
        tweets_data.append(tweet.full_text + '\n')

   
    #出力ファイル名
    fname = r"'"+ dfile + "'"
    fname = fname.replace("'","")
    
    #ファイル出力
    with open(fname, "w",encoding="utf-8") as f:
        f.writelines(tweets_data)
    

if __name__ == '__main__':

    #検索キーワードを入力  ※リツイートを除外する場合 「キーワード -RT 」と入力
    print ('====== Enter Serch KeyWord   =====')
    keyword = input('>  ')
    
    #出力ファイル名を入力(相対パス or 絶対パス)
    print ('====== Enter Tweet Data file =====')
    dfile = input('>  ')
   
    gettwitterdata(keyword,dfile)
    
```

pythonスクリプトの実行方法は [Windows環境でPythonスクリプト(.py)の実行方法] (https://qiita.com/kngsym2018/items/21b6efe4547a78661951) を参考ください。

実行すると「検索キーワード」、「出力ファイル名(相対パス or 絶対パス)」を聞かれますので入力します。



「検索キーワード」：検索キーワードを入力 
　　　　　　　　　　※-RT をつけると　リツイートは除外します

「出力ファイル名」: d:\python\Tweet20180913.txt　など