GASを使用してTwitterに自動投稿する方法

前提:Twitterのアカウントを所持していること

Twitter Developer Platformにアクセスして、「Sign in」からTwitterにサインインする

既にサインイン済みの場合、この画面は出ません

次のログインが完了したら~から実施してください

ログインが完了したら、「Apply」をクリックしてください

次に「Apply for a developer account」をクリックしてください

次に「Hobbyist」の「Making a bot」をクリックして選択状態にして「Next」をクリックをクリックしてください

次に「国」と「アカウント名」を入力して「Next」をクリックしてください

次に、TwitterAPIを使用する目的を英語で記述してください

グーグル翻訳で日本語を英語に変換していけばOKです

200文字という制限は面倒だが、適当に文言を繋げていけば何とかなります

その下に「Twitterデータを分析しますか?」とあるので、ボタンをクリックして「No」にしてください

ツイートを使用する目的を英語で入力してください

APIを使用する理由をそのままコピペでも大丈夫です

その下の2つの項目は「No」にしてください

入力が完了したら「Next」をクリックしてください

次に入力した内容を確認して「Looks good!」をクリックしてください

利用規約を確認してください

チェックボックスにチェックを入れて「Submit Application」をクリックしてください

Twitterアカウントに設定してあるメールアドレスにメールが届きますので

メールのURLをクリックして登録を完了させてください

登録が完了するとアプリ名を入力する画面になります

アプリ名を入力して「Get keys」をクリックしてください

アプリ名はなんでも大丈夫です

APIキーとトークンが作成されました

GASで使用するためメモっておきましょう

以上でTwitter Developerアカウントの申請は完了です

スプレッドシートでライブラリ「TwitterWebService」を作成する

  1. https://script.google.com/d/1rgo8rXsxi1DxI_5Xgo_t3irTw1Y5cxl2mGSkbozKsSXf2E_KBBPC3xTF/edit を開いてください
  2. 「ファイル」>「コピー」をクリックしてください
  3. プロジェクト名を 「TwitterWebService」 に変更してください
  4. 「リソース」>「ライブラリ」をクリックしてください
  5. 「OAuth1」のバージョンで「18」を選択し、保存してください
  6. 「ファイル」>「版を管理」をクリックしてください
  7. 「Save new version」ボタンをクリックします
  8. 「ファイル」>「プロジェクトのプロパティ」をクリックしてください
  9. 「スクリプト ID」の値をコピーしてください

グーグルスプレッドシートを新規で開いて「ツール」>「スクリプトエディタ」をクリックしてください

次に「リソース」>「ライブラリ」をクリックしてください

新規で作成したので、プロジェクト名の入力を求められます

お好きなプロジェクト名を入力してください

ライブラリを追加する画面が表示されます

「Add a library」にコピーした「スクリプトID」を張り付けて「追加」ボタンをクリックしてください

「TwitterWebService」が表示されればOKです

次にバージョンを「1」を選択してください

「Development mode」をクリックして「ON」にしてください

「保存」をクリックしてライブラリを保存しましょう

以上で、ツイッターと連携するためのライブラリの導入は完了です

Twitter Developerに「コールバックURL」を登録する

スクリプトエディタの「ファイル」>「プロジェクトのプロパティ」をクリックしてください

プロジェクトのプロパティの「スクリプトID」をコピーしてください

Twitter Developer Platformにアクセスしてください

画面右上の「アカウント名」>「Apps」をクリックしてください

アプリの「App Settings」をクリックしてください

「Authentication settings」の「Edit」をクリックしてください

「Enable 3rd party authentication」のボタンをクリックしてください

「Callback URLs」が入力できる状態になりますので、

下記URLを入力してください

https://script.google.com/macros/d/スクリプトID/usercallback

※スクリプトIDはご自分のスクリプトIDに置き換えてください

入力が完了したら「Save」ボタンをクリックして保存してください

「App permissions」の「Edit」ボタンをクリックしてください

「Read + Write + Direct Messages」を選択して「Save」ボタンをクリックしてください

確認画面が表示されたら「Yes」ボタンをクリックしてください

以上で、Twitter Developerに「コールバックURL」を登録が完了です

Twitterアプリと連携する

GASのスクリプトエディタに下記を入力してください


//認証用インスタンスの生成
const twitter = TwitterWebService.getInstance(
  'xxxxxxxxxx',//API Key
  'xxxxxxxxxx'//API secret key
);

//アプリを連携認証する
function authorize() {
  twitter.authorize();
}

//認証後のコールバック
function authCallback(request) {
  return twitter.authCallback(request);
}

APIキーとトークンはTwitter Developmentで取得したものを入力してください

関数「authorize」を選択して「実行」ボタンをクリックしてください

「許可を確認」をクリックしてください

ご自分のグーグルアカウントを選択してください

「このアプリは確認されていません」と表示されます

「詳細」ボタンをクリックしてください

「作成したプロジェクト名(安全ではないページ)に移動」をクリックしてください

「許可」ボタンをクリックしてください

成功すれば、画面には何も表示されません

何かエラーが表示された場合、そのエラーを解消しないと次に進めないため解消しましょう

画面に何も表示されなければ「表示」>「ログ」をクリックしてください

ログに表示されているURL「https://~」をコピーして別タブに張り付けて開いてください

アカウントへのアクセス許可が求められますので「連携アプリを認証」ボタンをクリックしてください

画面に「Success」と表示されれば連携完了です

以上で、Twitterアプリと連携が完了です

GASからツイートする

さて、いよいよGASからツイッターへの投稿をします

下記コードをスクリプトエディタに記述してください


// Twitterへの投稿
function tweet(){
  const service = twitter.getService();
  const response = service.fetch("https://api.twitter.com/1.1/statuses/update.json", {
    method: "post",
    payload: { status: "これはGASからの投稿です" }
  });
}

関数「tweet」を選択して「実行」ボタンをクリックしてください

ツイッターに投稿されていれば成功です

以上で、GASからツイートが完了です

まとめ

ツイッターは非常に便利なSNSです。

また、GASはJavaScriptをベースとしたスクリプト言語なのでとても扱いやすいです。

これらを使用して、既定の時刻にツイートしたり、表を作成してすべてを逐次ツイートしてみたりと、できることはたくさんあります。

ツイッターでのデベロッパーの登録やグーグルとの連携が結構大変ですが、一度登録&連携が出来てしまえば、あとはGASから自由自在です。

この記事を参考に、是非自動投稿を導入してみてください。

トップへ戻る