GASを用いてアナリティクスのデータを取得し、スプレットシート上に配置しようとしております。
GASを用いてシート上のURLを取得し、ga:pagePath
ごとのデータを取得したいのですが、
フィルタ機能を使用して取得するデータを絞ろうとしたときに以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
TypeError: Cannot read property 'length' of undefined
該当のソースコード
1function getGoogleAnalytics() { 2//コンテナバインドスクリプトに紐づくスプレッドシートのアクティブシートを取得 3let sheet = SpreadsheetApp.getActiveSheet(); 4// //スプレッドシートからグーグルアナリティクスのビューIDと開始日、終了日を取得する 5let setting = sheet.getRange(3, 6, 1, 2).getDisplayValues(); 6//グーグルアナリティクスから取得する指標データを設定する 7let metrics = "ga:pageviews,ga:sessions,ga:users"; 8//グーグルアナリティクスのディメンションでページタイトルを設定する 9let dimensions = "ga:pagePath"; 10//表示順はページビュー順にソートする 11let sortType = "-ga:pageviews"; 12//フィルターをかける 13let titleGet = sheet.getRange("C3").getDisplayValue(); 14let replace = titleGet.replace("https://sample.com",""); 15let filters01 = "ga:pagePath==" + replace; 16 17 18//Google Analytics APIリクエストして、グーグルアナリティクスのデータを取得する 19let gaData = Analytics.Data.Ga.get( 20'ga:00000000', 21setting[0][0], 22setting[0][1], 23 24 25metrics, 26{ 27'dimensions': dimensions, 28'sort': sortType, 29'filters' : filters01, 30} 31).getRows(); 32//Google Analytics APIから取得した2次元配列のデータをスプレッドシートに書き込む 33sheet.getRange(3, 9, gaData.length, gaData[0].length).setValues(gaData); 34}
試したこと
エラーについて調べてみましたが、該当するような記事を見つけることができませんでしたので質問させてください。
'filters' : filters01,
を非表示にすると問題なく動作します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。