Twitterのアクセストークン等の取得方法とDirectメッセージを取得するために必要な設定
Twitter API、楽しくて便利なんですが、いつもこのAccess Tokenの取得・設定方法を忘れてしまって、調べ直している気がするので、個人的なメモとして残しておきたいと思います。
後、Permissionを変更しないと、DirectMessageが取得できないので、そのあたりにも触れながら。
最終的には以下の4種類の情報を取得することをこの記事では目的にしています。
・Consumer Key (API Key)
・Consumer Secret (API Secret)
・Access Token
・Access Token Secret
Twitter APPsの作成
まず最初に以下のページにアクセスして、Twitter APPsを登録します。
(このURLをいつもGoogleで探して見つけられないんですよね・・・。)
[Create New App]をクリック
Application Detailsとして、それぞれの情報を適当に入力します。
気をつけるのはCallbackくらいでしょうか。私は今回ローカルのアプリケーションからデータ取得を行う関係で[http://127.0.0.1/ ]を設定しました。
アプリケーションが作成された後、[Keys and Access Tokens]をクリックすると、Consumer KeyとSecretが取得できます。
その画面のまま、Access TokenをTwitter アプリ上から生成することができるので、画面下の[Create my access token]をクリックします。
以下のように生成することができました。
Direct Meesageを取得するためのPermissonの変更
Twitter APPは初期状態でDirect Meesageにアクセスすることができないので、Direct Messageを取得したい場合は、Permissionを変更する必要があります。
先程の画面のメニューから[Permission]を選択し、Accessで[Read,Write and Access direct messages]を選択し、[Update Settings]をクリックします。
ちなみにメッセージで表示されているとおり、権限変更後、再度Access Tokenを生成する必要があります。
前の[Keys and Access Tokens]の画面に戻って、[Regenerate My Access Token and Token Secret]をクリックし、Access Tokenを再生成しておきましょう。
取得したAccess TokenとCData Twitter Excel-addinを使ってデータを取得してみた
せっかく取得したアクセストークンなので、以下のCData Twitter Excel-addinを使って、Excelへデータを読み込んでみたいと思います。
CData Twitter Excel-addinは以下のページからダウンロード可能です。
https://www.cdata.com/jp/drivers/twitter/excel/
ちなみに、CData Twitter Excel-addinはExcelからTwitterのデータの取得・作成・更新ができるツールです。
アドインをインストール後、Excelの[CData]タブから[取得元Twitter]をクリックします。
クリック後、接続情報を入力するダイアログが開くので[Callback URL][OAuth Access Token][OAuth Access Token Secret][OAuth Client Id][OAuth Client Secret]を入力します。
[Callback URL]には[http://127.0.0.1/ ]
[OAuth Client Id][OAuth Client Secret]にはConsumer KeyとCunsumer Secretをそれぞれ入力してください。
これだけで接続設定は完了です。
試しにTimelineのTweetsを取得してみます。
テーブル一覧から[Tweets]を選択して[OK]をクリック
以下のようにTwitter Time lineの情報が取得できました。
User 名で絞り込みたいときはFrom_User_Screen_Nameを使うといい感じです。試しに私のDynamics発言を集めてみました。
SELECT * FROM [CData].[Twitter].[Tweets] where From_User_Screen_Name = 'sugimomoto' and Text like '%dynamics%' LIMIT 100
ただし、安易にクエリを実行しすぎると、APIの利用制限に引っかかってしまうので、注意しましょう。
キャッシュ機能もあるので、ローカルのDBなどにReplicateすると幸せな感じに分析できるかもです。