Help us understand the problem. What is going on with this article?

Google Apps ScriptでTwitter APIを叩く

More than 1 year has passed since last update.

やりたいこと

  • gasからTwitterAPIを叩きたい
  • access token, access token secretを持っているのに、それを使わずにoauth認証するような実装をしなきゃいけないのが面倒
  • 直接これらを渡して、直接API叩く方法無いのかな?
  • あった!

どうやったか

gasのOAuth1ライブラリにsetAccessTokenというメソッドが用意したあったのでそれを使えばOKでした
サンプルとかドキュメントにはこのメソッド出てこないが、ライブラリのソースコード読んでたら見つけました

var getTwitterService = function () {
  return OAuth1.createService("Twitter")
    .setAccessTokenUrl("https://api.twitter.com/oauth/access_token")
    .setRequestTokenUrl("https://api.twitter.com/oauth/request_token")
    .setAuthorizationUrl("https://api.twitter.com/oauth/authorize")
    .setConsumerKey("xxx")
    .setConsumerSecret("xxx")
    .setAccessToken("access token", "access token secret"); // これだよ!!
};

var service = getTwitterService();
var res = service.fetch("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=qiita");

事前にOAuth1ライブラリをgasに導入しておく必要あり → https://github.com/gsuitedevs/apps-script-oauth1#setup

参考

abeyuya
Rails, AWS, Firebase, Swift, Objective-C, Serverless Framework, Node.js, JavaScript, Typescript, React.js, ReactNative
http://nkk.hatenablog.com/
sikmi
しくみ製作所株式会社は、世の中の「しくみ」を素敵にするためのソフトウェア開発集団です。オフィスのない弊社は、メンバー全員リモートワークです!
https://sikmi.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away