先日、PVをツイートするサービスにコメントを変更出来るWebAPIを追加しました。
これで簡単にコメント変更出来るね。と言いたいところですが、WebAPI公開されてもそれをどう叩くかという問題があると思います。
きっと、「そんなもん公開されても、どうやったらいいかわからんぜよ!」って思ってる人も少なからずいるんじゃなかろうかと。
そんな人のために、簡単にコメントを変更出来る仕組みを紹介しますね。
Googleスプレッドシートを使おう
Googleスプレッドシートでスクリプトを実行できます。まぁ、Excelのマクロ(VBA)みたいなもんですね。
このスクリプトですが、スケジュール実行する機能があるんです。ここまでで大体見当つきましたよね?
そう、スクリプトでWebサービスを叩く処理を書いて、それをスケジュール実行することによって、毎日自動でコメントを変更できるんです。
作り方
作り方は色々ありますけど、私が考えたやつを紹介します。
スプレッドシートを新規作成
なにはともあれ、スプレッドシート本体がないと話が始まりません。とっとと作ってしまいましょう。
シート本体
下の様な表を作ります。
A列に次回のスクリプトで設定する内容を「○」で指定し、
B列には設定したいコメントをずらずらーっと書いておきます。
これをスクリプトで処理します。ざっくりいうと下の様な感じ。
- 「○」がついている行のコメントをPVをツイートするサービスに設定
- 次回のために「○」がついてる行を下へ移動する(一番下まで行ってたら一番上に移動)
スクリプト
メニューの [ツール]-[スクリプト エディタ...] からスクリプトエディタを開きます。
そして、下のコードをペタッと貼り付けて下さい。トークンは設定画面で取得したトークンに置き換えて下さいね。
function changeDailyComment(){ var spreadSheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadSheet.getSheets()[0]; // 今回設定する行とコメントを取得 var comment, row; for (row=2; row<=1000; row++) { var check = sheet.getRange(row,1).getValue(); if (check == "○") { comment = sheet.getRange(row,2).getValue(); break; } } // 次回予定の行を取得 var nextRow = row + 1; var nextComment = sheet.getRange(nextRow, 2).getValue(); if (nextComment == "") { nextRow = 2; } // PVをツイートするサービスへ送信 Logger.log(comment); postPvTweetService(comment); // 次回予定を更新 sheet.getRange(row,1).setValue(""); sheet.getRange(nextRow,1).setValue("○"); } function postPvTweetService(comment){ var payload = { "ApiToken" : "[自分が取得したトークン]", "Comment" : comment }; var options = { "method" : "post", "payload" : payload }; UrlFetchApp.fetch("http://tweetpvservice.nkd.jp/api/DailyComment", options); }
トリガー(スケジューラ)の設定
後はトリガーの設定をするだけです。
下の時計のアイコンをクリックするとトリガーの一覧ウインドウが表示されます。「トリガー作りたかったらここクリックせいや」的なリンクがありますのでそこをクリックします。
実行契機となるイベントは「スプレッドシートから」と「時間主導型」の2種類があります。今回の用途でいうと「時間主導型」ですね。
そして、タイマーは次の6種類から選択します。
- 特定の日時
- 分タイマー
- 時タイマー
- 日タイマー
- 週タイマー
- 月タイマー
PVをツイートするサービスでは毎日1回なので、日・週・月のいずれかになると思います。日・週・月を指定すると、「午前 0 時~1 時」のような選択を行うようになりますが、その間で1回実行するよってことのようです。なかなか直感的にはわかりづらいですね。
まとめ
どうでしょう?これならかなり簡単にコメントが変更できると思います。
ここで作ったシートを公開しておきます。スクリプトを見るには自分の環境にコピーする必要があるっぽいです。興味がある人は、メニューから「ファイル」-「コピーを作成」してみて下さい。
おしまい。