質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

1366閲覧

GASでGoogle Analytics API から1000件以上抽出するには

qopllqopllqop

総合スコア36

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2023/01/22 01:22

前提

GASでGoogle Analytics APIを使ってグーグルアナリティクス V3のデータをスプレッドシートに転記したいと考えています。
公開されているプログラムを使用したところ、期間を長くしても最大1000行までしか取得できませんでした。

実現したいこと

1年分のデータを取得したいので、まずは3万件を一気に取得できるようにしたい。
その件数を調整できるようにしたい。

該当のソースコード

GAS

1function getGoogleAnalytics() { 2//コンテナバインドスクリプトに紐づくスプレッドシートのアクティブシートを取得 3let sheet = SpreadsheetApp.getActiveSheet(); 4//スプレッドシートからグーグルアナリティクスのビューIDと開始日、終了日を取得する 5//スプレッドシートA2にビューID、B2に開始日、C2に終了日を記載 6let setting = sheet.getRange(2, 1, 1, 3).getDisplayValues(); 7//グーグルアナリティクスから取得する指標データを設定する 8let metrics = "ga:pageviews,ga:sessions,ga:users"; 9//グーグルアナリティクスのディメンションでページタイトルを設定する 10let dimensions = "ga:pageTitle"; 11//表示順はページビュー順にソートする 12let sortType = "-ga:pageviews"; 13//Google Analytics APIリクエストして、グーグルアナリティクスのデータを取得する 14let gaData = Analytics.Data.Ga.get( 15setting[0][0], 16setting[0][1], 17setting[0][2], 18metrics, 19{ 20'dimensions': dimensions, 21'sort': sortType 22} 23).getRows(); 24//Google Analytics APIから取得した2次元配列のデータをスプレッドシートに書き込む 25sheet.getRange(4, 1, gaData.length, gaData[0].length).setValues(gaData); 26}

試したこと

GoogleAnalyticsAPIのリファレンスを確認しましたが、データ取得件数の最大値に関する記述を見つけることができませんでした。

補足情報(FW/ツールのバージョンなど)

Google Analytics V3 のデータを取得したいと考えております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

GoogleAnalyticsAPIのリファレンスを確認しましたが、データ取得件数の最大値に関する記述を見つけることができませんでした。

max-results パラメータを省略した際のデフォルトの取得件数は、 1000件です。
この 1000件しか取得していないのではないでしょうか。

1000件以上を取得したい場合は、データの取得開始位置を指定する start-index パラメータと組み合わせて指定して、必要な件数のデータが取得できるまで、取得開始位置を変更して繰り返し API を呼び出して取得する必要があるのではないでしょうか。

投稿2023/01/22 09:31

編集2023/01/22 09:33
CHERRY

総合スコア25164

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

qopllqopllqop

2023/01/23 00:27

Analytics Core Reporting APIでは、max-results パラメータを設定することで最大10,000件まで取得できるとの記載がありましたので、試してみたいと思います! もし取得できないのであれば、日付をずらして繰り返し処理で対応したいと思います。 リファレンスから貴重な情報を引き出していただき、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問