前回からの続きで今回はTwitter APIを用いた投稿について紹介します。
投稿ではOAuth1.0の認証方法を用いてTwitter APIでツイートを投稿します。
OAuth1.0はユーザーの認証で、Twitter APIで使える機能は以下の通りです。
・ユーザーのタイムラインを取得
・アカウントの友達やフォロワーにアクセス
・ユーザーが作成したリストにアクセス
・ツイートを検索
・ユーザーの情報を取得
・ツイートやその他リソースを投稿
・ストリーミングエンドポイントに接続
・ユーザーを検索
・地理エンドポイントを使用
・ダイレクトメールやアカウントの資格情報にアクセス
■Google Apps Scriptで開発
Google Apps Scriptファイルは前回作成したものを使用します。
・プログラムの作成(OAuth1.0)
OAuth1.0の実装を行うためにライブラリを使用します。
リソース>ライブラリを選択し、検索の欄に「1CXDCY5sqT9ph64fFwSzVtXnbjpSfWdRymafDrtIZ7Z_hwysTY7IIhi7s」を入力し選択を押します。
※ライブラリはGoogleが提供しているものです。
OAuth1のライブラリが表示されたらバージョンは最新を選び、
デベロッパーモードをONにし保存します。
※ライブラリの詳しい使い方は参考サイトのGAS OAuth1.0を参考にしてください。

次に、ファイル>新規作成>スクリプトファイルを選択し、OAuth1.gsを作成します。
OAuth1.gsには下記のコードを入力します。
※API_KEYとAPI_SECRETはメモしたAPI_KEYとAPI_SECRETに置き換えてください。
var API_KEY = 'API_KEY';
var API_SECRET = 'API_SECRET';
/* サービスの設定 */
function getService() {
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(API_KEY)
.setConsumerSecret(API_SECRET)
.setCallbackFunction('authCallback')
.setPropertyStore(PropertiesService.getUserProperties());
}
/* コールバック関数 */
function authCallback(request) {
var service = getService();
var authorized = service.handleCallback(request);
if (authorized) return HtmlService.createHtmlOutput('認証成功');
}
/* 認証リセット */
function reset() {
getService().reset();
}
/* 認証用URL */
function getOAuthURL() {
Logger.log(getService().authorize());
}
/* リクエスト */
function request1(text) {
var service = getService();
if (service.hasAccess()) {
var url = 'https://api.twitter.com/1.1/statuses/update.json';
var payload = {
status: text
};
var options = {
method: 'post',
payload: payload,
escaping: false
};
var response = service.fetch(url, options);
var result = JSON.parse(response.getContentText());
Logger.log(JSON.stringify(result, null, 2));
return result;
}
}
空欄にしていたTwitterアプリケーションのCallback URLを設定します。
ファイルのURLを確認すると下記のようなURLになっていると思います。
https://script.google.com/d/{PROJECT_ID}/edit?usp=drive_web#
Callback URLにはこのURLのhttps://script.google.com/d/{PROJECT_ID}の部分を設定します。
![]()
全ての設定が終わったら、getOAuthURLの関数を実行します。
実行の仕方ですが、まずデバッグマークの右横にあるリストからgetOAuthURLの関数を選択します。
そしてデバッグマークの左横にある三角マークのボタンを押します。
![]()
URLをコピーしてブラウザで開くと認証するボタンが表示されるので
「連携アプリ認証」ボタンを押します。

認証に成功すると「認証成功」と表示されます。
認証を行ったらリクエストをしてツイートを投稿してみます。
コード.gsに下記のコードを入力します。
function send1() {
request1("テスト送信します。");
}
Google Apps Scriptの機能を使うと定期的にツイートを投稿することができます。
この機能については次回で説明します。
以上がTwitter APIを用いた投稿です。
OAuth1.0ではGoogleが提供するライブラリの設定とTwitterアプリケーションのCallback URLの設定が大事になります。
ライブラリの設定は参考サイトのGAS OAuth1.0にありLINEの認証方法が載っているので、どなたでも簡単に実装することができます。
またCallback URLの設定をしていないと、データの取得などができなくなるので注意しましょう。
次回はTwitter APIのBOT化について紹介します。
<参考サイト>
・Google Apps Script
・GAS OAuth1.0


