📈
Gather.townのアクティブユーザー数を自動で記録する
Gatherの適切なキャパシティ把握のために、アクティブユーザー数を自動で記録するGASを作成しました。
完成したもの
作り方
スプレッドシートのGoogleAppScriptに以下の関数を作成。
ここの環境に合わせてAPIキーとスペースIDの書き換えが必要。
function logActiveUser() {
// APIからスペース情報を取得
const url = "https://api.gather.town/api/v2/users/me/owned-spaces";
const headers = {
"apiKey": PropertiesService.getScriptProperties().getProperty("API_KEY")
};
const response = UrlFetchApp.fetch(url, {
"headers": headers
});
const data = JSON.parse(response.getContentText());
// スペースIDを指定
const spaceId = 'xxxxxxx\\your-space-id'
// スペースの人数を取得
const laprasSpace = data[spaceId]
const numActive = laprasSpace['numActive']
// スプレッドシートに出力
const sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow([new Date(), numActive])
}
利用するAPI
https://api.gather.town/api/v2/users/me/owned-spaces
headerに apiKey を渡すことで利用することができます。(apiKeyの取得方法はこちら)
※仕様が公開されていないAPIのため、将来的に使えなくなるかもしれません。
スペースID
スペースのURLの https://app.gather.town/app/
よりも後ろの部分です。
スラッシュ「/」をバックスラッシュ「\」に書き換える必要があるので注意してください。
定期実行の設定
このスクリプトは最終行に日時+アクティブ人数を出力します。GASのトリガーで定期実行を設定しましょう。
終わりに
APIを利用することで簡単にアクティブユーザー数の推移を可視化できました。実際に自社のスペースで購入するキャパシティ見積りに利用しています。
他にもアクティブ人数によってSlack 通知するなどいろいろ応用できそうですね。
Discussion