背景
Google Analytics Data APIのガイドを眺めていたら、今まで知らなかったことを知った。
知らずのうちにデータの欠損が起こってしまうこともあるため、重要な点だと感じた
知っている方が多いかもしれないが、意識していない人も多いと思うため共有する。
結論
デフォルトではレスポンス行数は10000
行までとされている。
limitの指定を行うことで最大250000
行までは増やすことが出来る。
しかし、limitにて指定した行数以上のレスポンス行数がある場合、超えた行数分のデータは返されない
➡limitにて指定する250000
行以上のデータを取得するには、リクエストを分ける必要がある。
Google公式のガイドは以下
手順
レスポンスの最大行数を250000
行に増やす
以下のように、リクエストのlimitの項目に250000
を設定するだけでよい
POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
...
"limit": 250000,
"offset": 0
}
250000行以上のレスポンスを取得する
リクエストを分ける必要がある。
offsetにて取得するデータの開始行を指定できる。
一回目のリクエストでは最初から取得するので0をセットする。
249999行までは一回目のリクエストで取得できた。
250000行目以降は二回目のリクエストで取得する。開始行は250000なのでoffsetに250000をセットする。
一回目
https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
...
"limit": 250000,
"offset": 0
}
二回目
https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
...
"limit": 250000,
"offset": 250000
}
今後の展望やメモ
API経由でデータを取得する際は、レスポンスの行数を確認する処理を追加する必要がありそう
なぜなら、考慮しないと知らないうちに全てのデータが取得できていないということが起こりうるから
また、Google公式のガイドを読んでいると、複数期間を一度にリクエストすることが出来ることも知った。使うことがあるかもしれないので頭に入れておきたい。