ブログの更新通知をメールで受け取る

Google App Script(GAS)でTwitterのフォロワー数を自動で数える方法

Google App Script(GAS)でTwitterのフォロワー数を自動で数える方法

今回はTwitterのフォロワー数を自動で定期的にカウントするGASのコードを公開します。

機能はこんな感じ。

  • 毎日 or 週毎 or 月毎でTwitterのフォロワー数をGoogleスプレッドシートに記録する
  • 複数のアカウント対象
  • Googleスプレッドシートでシートを指定する

ヘイショー

GASの走らせ方を知っていてコードをコピペすれば5分で作れます。

GASの走らせ方を知らない方は、以下の記事をご覧ください。

参考 GAS(Google App Script)のスクリプトを走らせる方法

完成した表はこんな感じです

GASのソースコード

Twitterの各アカウントのフォロワー数を数えるためのスクリプトはこちら。

コード

function TwitterFollowers() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
//Google Spreadsheetのシート名を記入
var sheet = spreadsheet.getSheetByName("★Google Sheetのシート名★");
var today = Utilities.formatDate(new Date(), "JST","yyyy/MM/dd")
var lastRow = sheet.getLastRow()
var row = lastRow + 1;
//★アカウント1~3★のところに自分のTwitter IDを入れる
var result1 = getTwitterNumFollowersJson("★アカウント1★");
var result2 = getTwitterNumFollowersJson("★アカウント2★");
var result3 = getTwitterNumFollowersJson("★アカウント3★");
//入力
sheet.getRange(row, 1).setValue(today);
sheet.getRange(row, 2).setValue(result1.followers_count);
sheet.getRange(row, 3).setValue(result2.followers_count);
sheet.getRange(row, 4).setValue(result3.followers_count);
}
function getTwitterNumFollowersJson(screenName) {
var baseURL = "https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=";
var response = UrlFetchApp.fetch(baseURL + screenName);
var result = null;
if (response.getResponseCode() == 200) {
var text = response.getContentText("utf-8");
if (text != "") {
var data = JSON.parse(text);
if (data.length == 1) {
result = data[0];
}
}
}
return result;
}
function getNumFollowers(screenName) {
var result = getTwitterNumFollowersJson(screenName);
if (result) {
return result.followers_count;
} else {
return 0; // Not Found;
}
}

定期的にスクリプトを走らせるためのトリガーを設定

スクリプトを毎週自動で走らせるために、トリガーを設定します。

  • Extentions → Apps Script
  • 左のサイドバーから「Triggers」を選択
  • 右下の「+ Add Trigger」をクリック
  • ポップアップで「TwitterFollowers」「Head」「Time-driven」「Week timer」「曜日を選択」「時間を選択」を選択して、最後に「Save」をクリックすれば完了です。

まとめ

以上、お役に立てれば幸いです。

ヘイショー

ご精読ありがとうございました!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です