※この記事は書きかけの記事です。取り急ぎ公開しています。
この記事ではgoogelサービスであるGASを使って
twitterで決まった時間に毎日、自動でツイートする方法を公開します。
必要なもの
- googleアカウント
- twitterアカウント
必要なこと
- ツイートする内容を列挙したスプレッドシート
- twitterアカウントに開発者権限を与える
- twitterアカウントのキーとトークンを取得する
- twitterをリードオンリーからライトも出来るようにする
- GASでtwitterの認証を得る
- スプレッドシートの内容をツイートするGASを書く
- 毎日決まった時間にGASが動くようにトリガーを作る
必要なものについては別記事で解説します。
・googleアカウント作成はこちら(まだ作成しておりません)
・twitterアカウント作成はこちら(まだ作成しておりません)
では、ことのほうを進めていきましょう。
ツイートする内容を列挙したスプレッドシート
google driveへログインをしてスプレッドシートを新規作成します。
新規→googleスプレッドシートと進み新規作成します。
A1のシートから下にどんどんツイートしたい内容を記述しておきます。
10個くらい書いておきましょう。
twitterアカウントに開発者権限を与える
ここはtwitter1社に開発者として認定される必要があります。
少し文章を書かないといけないところがありますが、
落ち着いていきましょう。
twitter開発者ページにアクセス
Sing in からtwitterアカウントでログイン
Applyをクリック
Apply for a developer accountをクリック
いろいろ聞かれてきますが、ポジティブな回答を繰り返してください。
途中twitter API 使用目的を聞かれますが、回答をしてください。
英語で書く必要があります。
私は、自動ツイートすることによりブログの宣伝をして、
数学とITを楽しむ人を増やしたいみたいなことを
書きました。
この申請は個人個人で回答が異なりますので、
google 翻訳を使いながら選択をしてください。
twitterアカウントのキーとトークンを取得する
twitter開発者ページにログインします。
英語ですが、落ち着いていきましょう。
developer→developer portarl と進みます
crearte an appをクリック
聞かれた内容に答えていきます。
アプリ名、アプリの説明、ウェブサイトのURL、アプリの使い方を記述してください。
アプリ作成後はkeys and tokensというのが選択できますので、
ここでkeyとtoken1をテキストで保存しておいてください。
GASでtwitterの認証を得る
スプレッドシートの内容をツイートするGASを書く
下記のようなソースを記述します。
function toTweet()
{
var twitterService = getService();
if (twitterService.hasAccess())
{
var twMethod = { method:"POST" };
var mes = makemessage();
twMethod.payload = { status: mes };
var response = twitterService.fetch('https://api.twitter.com/1.1/statuses/update.json', twMethod);
Logger.log(response.getContentText());
}
else
{
Logger.log(service.getLastError());
}
}
function makemessage()
{
const sheet1 = SpreadsheetApp.getActiveSheet();
const lastRow = sheet1.getLastRow();
var t = Math.floor(Math.random()*lastRow)+1;
const bo = sheet1.getRange(t,1,1,3).getValues();
let body ='[迷言bot]'+bo[0][0]+'\n'+'https://ryoma12.tokyo';
return body;
}
毎日決まった時間にGASが動くようにトリガーを作る