Google Apps Script @福岡

GASで面白Webサービス&コスト削減や!

Google Apps Script 講座中級編「GASでTwitterのフォローフォロワー数を毎日記録する」

はじめに

後藤銃士です。6回目となります。今回は総集編です。総決算です。今までコピペでやってきた数々の処理を組合せて、

  • 設定した時間毎に
  • 指定したTwitterアカウント(誰でもOK)のフォロー数、フォロワー数を
  • スプレッドシートに書き込んでくれる

ことができるようになります。無料です。 正直ここで説明するところはあんまりありません。すでに説明が済んでいるので、コピペするコードのざっくり説明だけでよさそうな感じです。

というわけで

今からお見せるコードはまだ発展途上といいますか、作りかけ、といいますかさらいろんな機能を足すこともできます。私が作っている LINEbot のように例えばフォロワー数を LINE で通知させたり、あるいはメールで受信するというのもできます。

スプレッドシートに溜まったデータの傾向を分析するようなアイディアがあればそれをまた GAS や他のツールと連動させることもできるでしょう。

自社の手作業している作業を GAS で置き換えられないか?といった検討を始めるのもいいですね。

この機能が役に立つのは

Twitter を使って商売を始めたいけど、その分析資料としてフォロワー数を記録しておきたい人向け(ニッチ)。

今回は中級編「GASでTwitterのフォローフォロワー数を毎日記録する」

対象

  • 基本ができていればよいかもしれません。

学べること

Google Apps Script の基本クラスの組合せ方

講座スタート

今回もコピペだけで大丈夫です。

新しくタブを開き「script.google.com」を入力してコードを書ける状態にして下さい。

そして今回はでは1行目の3行目の間に

  var twiiterId = 'jijyoron'
  var url = 'https://twitter.com/' + twiiterId;
  var response = UrlFetchApp.fetch(url);
  var html = response.getContentText('UTF-8');  
  var title = html.match(/data-count=(\d.*?)\s/g);
  var follows   = title[1].match(/data-count=(\d.*?)\s/)[1];
  var followers = title[2].match(/data-count=(\d.*?)\s/)[1];
  Logger.log(follows + " " + followers);
  
  var spreadsheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1Guk0FXiVGxVMXLZA83u3TNpdMVgSPikKvjC7Jkej-zg/edit#gid=0');
  var sheet = spreadsheet.getSheetByName('シート1');
  var lastrow = sheet.getLastRow(); // 最後の行番号
  var today = new Date();
  sheet.getRange(lastrow +1, 1).setValue(today);
  sheet.getRange(lastrow +1, 2).setValue(follows);
  sheet.getRange(lastrow +1, 3).setValue(followers); 

をコピペして保存し、実行してスプレッドシートを御覧ください。

f:id:jijyoronn:20181222230407p:plain

f:id:jijyoronn:20181222230431p:plain

あとはトリガー設定しましょう。

f:id:jijyoronn:20181222230720p:plain

今私はテストで5分毎に取得していますが、いろいろ試してみるといいです。

今回は、新しいクラスもメソッドも登場しないので、コードの説明も省略します。みたらわかる、ですよね?

一応これで、まったくの素人が位置から GAS を使って「Twitterのフォローフォロワー数を毎日記録する」ことができるようになりました。 今後は難易度がどうなるかわかりませんが、比較的役にたつような GAS の使い方を紹介していきたいと思います。

ご覧いただきありがとうございました。