akkey247
11/9/2017 - 3:54 AM

【GAS】Twitter操作

// 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));
}

** 使い方

  1. authrize()を実行する
  2. 表示>ログを表示して認証用URLをコピーする
[17-11-08 20:07:57:298 PST] Open the following URL and re-run the script: https://api.twitter.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXXXXXXXX
  1. 認証用URLにアクセスして認証を完了する
  2. 自動でauthCallback()が実行され、「Success」と表示されれば認証完了
  3. getUserTimeline()やpostUpdateStatus()が実行できるようになる