Twitter APIとGoogle Apps Script(GAS)を用いて、自身のTwitterのフォロー数、フォロワー数、ツイート数を自動的に定期取得し、Googleスプレッドシートにデータ保存をできるようにしました。他の方の参考になればと、その方法をまとめたいと思います。
SocialDogでもフォロワー数、フォロー数の推移を取得しているのですが、分析可能期間が無料プランだと3ヶ月(有料プランだと1年)となっています。そのため、長期データ分析には自身でデータ取得しておいた方がよいと考えました。もし分析期間は3ヶ月もしくは1年で十分という方、予約投稿やキーワードモニタリングしたい方などは、SocialDogの利用がオススメです。
事前準備
「Twitter API KeyとTokenの取得」と「Googleサービスアカウントの作成」が必要です。下記に画像付で詳細手順を記載していますので、ご参照ください。
Google Apps Script(GAS)でTwitterフォロー数などの取得
① Googleスプレッドシートの新規作成
データ蓄積用のスプレッドシートを新規作成します。名前は適当でOK。
過去のフォロー数、フォロワー数の推移はTwitter API経由で取得できないので、SocialDogを利用している方は、SocialDogからこれまでのフォロー数、フォロワー数をスプレッドシートに移しておきます。フォーマットは下記のような形にします。カラム名は自由に設定OKですが、順番は下記のようにしておいてください。
- A列 : 日付
- B列 : フォロワー数
- C列 : フォロー数
- D列 : 累積ツイート数
- E列 : リストに登録された数
② スプレッドシートをサービスアカウントに共有
スプレッドシートの右上の”共有“を選択。
サービスアカウントのアドレスを入力し、”編集者“に設定、”共有“をクリック。
③ Google Apps Script(GAS)の新規作成
スプレッドシートの”拡張機能“から”Apps Script“を選択。
Google Apps Scriptの画面が開くので、”プロジェクト名“、”ファイル名“を適当に修正。(修正しなくてもOK)
スクリプトは下記のように書く。
function getFollowersCount(){
//Twitter APIでフォロー数などの取得
var url = "https://api.twitter.com/2/users/by/username/[Twitter ID]?user.fields=public_metrics";
var options = {
"method": "get",
"headers": {
"authorization": "Bearer [Twitter Token]"
},
};
var response = JSON.parse(UrlFetchApp.fetch(url, options));
//今日の日付を取得
let today = new Date();
today = Utilities.formatDate(today,"JST", "yyyy-MM-dd");
//スプレッドシートに保存するための配列の作成
var addArray = Object.values(response["data"]["public_metrics"]);
addArray.unshift(today);
//スプレッドシートにデータを追加
const sheet_id = '[spreadsheet ID]'
const sheet_name = 'Sheet1'
const sheet = SpreadsheetApp.openById(sheet_id).getSheetByName(sheet_name);
sheet.appendRow(addArray);
}
※ spreadsheet IDには、①で作成したスプレッドシートにアクセスした際のURLに含まれる文字列(下記画像のグレー部分)が入ります。
③ テスト実行
スクリプトが完成したら、下記の流れでテスト実行してみます。
① 保存
② 関数を選択
③ 実行ログを表示
④ 実行
⑤ 実行ログ&スプレッドシートでデータが更新されていることを確認
実行ログでエラーが出ている or スプレッドシートにデータが更新されていない際は、適宜ログ出力をさせて、エラー解消します。
console.log(response);
GASの定期実行
スクリプトのテスト実行が無事成功したら、GASの定期実行の設定を行います。テスト実行の際に追加されたスプレッドシートのデータは定期実行時のデータと重複しないように消しておくことをお勧めします。
左のサイドバーから、”トリガー“を選択。
右下の”トリガーを追加“を選択。
毎日実行する場合は、下記のように設定し、”保存“をクリック。下記の設定の場合、毎日午後11時〜午前0時の間に1回定期実行されます。
保存すると、トリガーリストに下記のように表示されます。
サイドバーから”実行数“を選択すると、実行履歴が確認できます。種類が”時間主導型“となっているものがトリガーにて定期実行されたものです。
参考リンク
下記のリンクを参考にさせて頂きました。
コメント