Python
Twitter
TwitterAPI
tweepy

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

本投稿の背景

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

Twitter、API使用条件を厳格化 「厳しすぎる」開発者から悲鳴も

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

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

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

Twitter API でできること

TwitterのAPIについてより

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

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

Python Twitterからツイートを取得してテキスト分析(wordcloudで見える化) では
Twitterのつぶやきを取得しています。

image.png

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

実際にかかった時間は、12日

=====
 9月1日 新たにTwitterアカウント作成して Twitter APIを登録申請
 9月10日 Twitter社から TwitterAPI の使用用途についての確認メールがきた
 9月11日 TwitterAPIの使用用途を記載してメールを返信  
 9月12日 Approveされたメールが届いた! 
=====

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

2.Twitter Developerにログイン

[Sign In]をクリック
image.png

Twitter登録で使用したメールアドレス、パスワードを入力してログイン
image.png

3.Twitter API 登録(アカウント申請)

[Apply]をクリック
image.png

[Apply for a developer account]をクリック
image.png

ログインしたTwitterアカウント情報が表示されるので、[continue]をクリック
image.png

Twitter API を使用する アカウントの詳細情報を入力
image.png

Twitter APIの使用用途にチェックします
image.png

Twitter API 使用詳細を記載
image.png

利用規約に同意して登録申請
image.png

image.png

メールを送ったよという画面になりメールが送信される
image.png

送信されたメールの内容
image.png

メールにある[Confirm your email]をクリック
⇒レビュー中と内容のページにとばされる
image.png

合わせてレビュー中というメールも送られます。
image.png

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

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

登録申請を完了させるため、追加でTwitter APIを使用する情報がほしいとメールがきました。
追加情報はこのメールに返信でいいとのこと
image.png

3.Twitter APIの使用用途を記載してメールを返信

こんな感じで返信しました。
image.png

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

4.Approveされたメールが届いた

Twitter APIの使用用途を記載してメールを返信して1日後に
登録申請がapproveされたメールがきました
image.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

[Create an app]を選択
image.png

[Create an app]をクリック
image.png

アプリケーション情報登録
旧登録では website URLで http://127.0.0.1 が使用できたのですが、
今回は登録NGになりました。
実在しないURLでないと登録できないようです。
※アプリを作らないので一旦自分のQiitaのURLを登録
image.png

この箇所はTwitterのつぶやき取得には関係ないので未記入
image.png

Twitter API を使用したアプリの使い方を記入して[Create]をクリック
image.png

登録画面が表示されるので、[Keys and tokens]をクリック
image.png

「アクセストークン情報」を作成
image.png

「Consumer API Keys」、「アクセストークン情報」を確認
image.png

「Consumer API Keys」、「アクセストークン情報」を使用したPythonスクリプト

Python Twitterからツイートを取得してテキスト分析(wordcloudで見える化) より抜粋

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)の実行方法 を参考ください。

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

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

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

今回新たにTwitter API登録申請で取得した「Consumer API Keys」、「アクセストークン情報」を設定して
Tweetデータが取得できることも確認しております。