Twitter 検索の結果を Google Drive のスプレッドシートに出力する

以前Google Apps Scriptで作成したプログラムがTwitter API Ver.1の廃止で動かなくなってたので直しました。

ついでにライブラリとしてだれでも使えるようにしました。ソースコードはここに置いてます。

使い方まとめるよ。

2015/10/7 追記: Google Apps ScriptでOAuthConfigが廃止されたため、このスクリプトは動きません。

2016/4/20 追記: 何人かにこのスクリプトが使いたいと要望をもらったので、ちょっと面倒な方法ですがここに現在動作するスクリプトの使い方を書きました。

1) Twitterアプリの作成

Twitter DevelopersでGoogle Apps Script用のアプリを作成してください。

以下は入力例です。Callback URLは以下で指定するURLを設定してください。 他の項目は自分がわかりやすいもので。

  • Name: GoogleAppsScript
  • Description: GoogleAppsScriptから利用します
  • Website: http://example.com/
  • Callback URL: https://spreadsheets.google.com/macros

作成が成功するとConsumer keyConsumer secretが発行されます。これはあとで使います。

2) スプレッドシートの作成

Google Driveでスプレッドシート作成します。

メニューからツール > スクリプトエディタを選択します。

「無題のプロジェクト」が開きますので、プロジェクトに適当に名前をつけてください。

3) ライブラリの読込

リソース > ライブラリを選択すると以下のウィンドウが表示されます。

「ライブラリを検索」に MHGYgT-unu1fC7zXOkNfBUVSHJARy_IP7 を入力して選択ボタンを押します。

最新のバージョンを選択します。この例では「1」を選択して保存。

4) プロジェクトのプロパティの設定

次にファイル > プロジェクトのプロパティを選択します。 ユーザーのプロパティタブを開いて以下の名前のプロパティを設定します。

  • TWITTER_CONSUMER_SECRET
  • TWITTER_CONSUMER_KEY

それぞれに先ほどTwitter Developersで取得した「Consumer key」と「Consumer secret」の値を設定してください。

5) トリガースクリプトの作成

コード.gsに以下のようなスクリプトを記述してください。 この例は検索キーワード「都知事」で最初(0番目)のシートに検索結果を出力する、という意味です。

function myFunction() {
  Twitter.search("都知事", 0);
}

実行するとスプレッドシートに検索結果が出力されます。 初回実行時はTwitterとGoogleの承認画面が表示されると思います。

こんな感じで検索結果が出力されてたら成功。

6) 定期的に検索を実行する

メニューからリソース > 現在のスクリプトのトリガーを選択します。

この設定だと1時間おきに検索が実行されて、検索結果がスプレッドシートに貯まっていきます。