Analytics Reporting APIをnode.jsから叩く
Analytics Reporting APIとは
Google Analyticsの集計情報を得られるAPI
コード
code:typescript
import { analyticsreporting_v4 } from "googleapis"
import { GoogleAuth } from 'google-auth-library'
async function main() {
const keyFile = 'path to key file';
const viewId = 'viewId'
const auth = new GoogleAuth({
keyFile,
scopes,
});
const client = await auth.getClient();
const report = new analyticsreporting_v4.Analyticsreporting({
auth: client,
})
const results = await report.reports.batchGet({
requestBody: {
reportRequests: [
{
viewId,
dateRanges: [
{
startDate: "2019-01-01",
endDate: "2019-02-16"
}
],
metrics: [
{
expression: 'ga:users'
}
],
dimensions: [
{
name: "ga:date"
}
]
}
]
}
})
const { data } = results.data.reports!0 data!.rows!.map(row => console.log(row.dimensions, row.metrics))
console.log(data!.totals)
}
main()
メモ
viewIdはAnalyticsのviewのID
dateRangesは集計期間
metricsは取得したい指標
ga:users だとユーザー数
dimensionsは指標の分割単位
ga:date とすることで指標を日単位で区切っている
↑の例だとmetricsが ga:users で dimensionsが ga:date なのでDAUを集計している
User does not have any Google Analytics Account というエラーが出たらサービスアカウントのメールアドレスをGoogle Analyticsに登録する