google apps script + twitter api 【001】タイムラインの取得とツイート
上の記事のことやってたときにgoogle apps script 便利かよってなって,twitterのapiもやったことなかったがついでに試してみた.
1. google apps script 新規プロジェクト作成
2. google apps script に twitter api 用のライブラリ導入
ライブラリキー:MFE2ytR_vQqYfZ9VodecRE0qO0XQ_ydfb
- twitterはOAuthによる認証が必要.それとかも含まれてる.
2. twitter developersで新規アプリケーション登録
- コールバックURLは
https://script.google.com/macros/d/[スクリプトID]/usercallback
- google apps scriptの
ツールバーの[ファイル] > [プロジェクトのプロパティ] > [スクリプト ID]
- 他は重要ではない.
3. 実装&実行
// OAuth1認証用インスタンス var twitter = TwitterWebService.getInstance( '***CONSUMER_KEY***', '***CONSUMER_SECRET***' ); // 認証を行う(必須) function authorize() { twitter.authorize(); } // 認証をリセット function reset() { twitter.reset(); } // 認証後のコールバック(必須) function authCallback(request) { return twitter.authCallback(request); } // タイムラインを取得 function getUserTimeline() { var service = twitter.getService(); var response = service.fetch('https://api.twitter.com/1.1/statuses/user_timeline.json'); Logger.log(JSON.parse(response)); } // ツイートを投稿 function postUpdateStatus() { var service = twitter.getService(); var response = service.fetch('https://api.twitter.com/1.1/statuses/update.json', { method: 'post', payload: { status: '***MESSAGE***' } }); Logger.log(JSON.parse(response)); }
- atuthorize関数を実行.ログに記載されるURLへ行って認証.
- 投稿なりタイムライン取得なり!
4.できた!
いやぁgoogle apps script便利.サーバいらんし.
bot作るのもスプレッドシートと連携してやれば簡単そうだな.
参考
[GAS]Google Apps Scriptでツイートを投稿する - 技術のメモ帳
Slack BotをGASでいい感じで書くためのライブラリを作った - Qiita
とてもわかりやすかったです.感謝.