0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Analytics Data APIにてデータを取得する際、実はレスポンス行数制限があった

Posted at

背景

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公式のガイドを読んでいると、複数期間を一度にリクエストすることが出来ることも知った。使うことがあるかもしれないので頭に入れておきたい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?