1

Google Analytics Reporting Api V3Google APIs Python client libraryを使用してデータを抽出すると、指定したインデックス形式ですべてのデータを取得するか、すべてのデータを小さな塊で表示します。 5、
'maxResults':私はそれは誤りGoogleAnalytics APIエラーstartindexとmaxresults

def get_report(analytics, view_id, value): #, index): 
    # Use the Analytics Service Object to query the Analytics Reporting API V4. 
    return analytics.reports().batchGet(
     body={ 
      'reportRequests': [ 
       { 
        'viewId': view_id, 
        # 'pageSize': 5, 
        'startIndex': 5, 
        'maxResults': 15, 
        'dimensions': [{'name': 'ga:sessionDurationBucket'}, {'name': 'ga:eventCategory'}, 
            {'name': 'ga:eventLabel'}, {'name': 'ga:country'}, {'name': 'ga:deviceCategory'}, {'name': 'ga:browser'}], 
        'dateRanges': [{'startDate': 'yesterday', 'endDate': 'yesterday'}], 
        'metrics': [{'expression': 'ga:totalEvents'}], 
        'dimensionFilterClauses': [{"filters": [{"dimensionName": "ga:eventCategory", "operator": "EXACT", "expressions": [value]}]}] 

       }] 
     } 
    ).execute() 

応答

<HttpError 400 when requesting https://analyticsreporting.googleapis.com/v4/reports:batchGet?alt=json returned "Invalid JSON payload received. Unknown name "start_index" at 'report_requests[0]': Cannot find field. 
Invalid JSON payload received. Unknown name "max_results" at 'report_requests[0]': Cannot find field."> 
+0

エラーメッセージはクリアされていますが、要求のためにサーバーに 'startIndex'フィールドはありません。 – Arman

+0

@Armanだから、どうすれば**インデックス作成**と** MaxResults **を実装できますか? – John

答えて

1

'のstartIndex' を示すされるクエリのインデックスを使用して結果しようとしています

15を、

2つのパラメータは、 Core Reporting API V3の彼らはあなたが結果の次のページを取得するために

pageTokenの文字列継続トークンを使用する必要がありますReporting API V4の一部ではありません。これをリクエストに追加すると、pageTokenの後の行が返されます。 pageTokenは、reports.batchGetリクエストに対するレスポンスのnextPageTokenパラメータに返される値にする必要があります。

pageSize numberページサイズはページングのためのもので、返される行の最大数を指定します。ページサイズは0以上でなければなりません。クエリはデフォルトの1,000行を返します。 Analytics Core Reporting APIは、リクエストした数にかかわらず、リクエストごとに最大10,000行を返します。また、必要な数のディメンション・セグメントがない場合は、要求された数より少ない数の行を戻すこともできます。たとえば、ga:countryの可能な値は300未満です。したがって、pageSizeをより高い値に設定した場合でも、国別にセグメント化する場合、300行以上は取得できません。

更新:

あなたがチェックすべきページネーションを実装するにはresponseあなたはより多くの結果がある場合nextPageTokenが含まれています、サーバから取得します。

nextPageToken stringリスト内の結果の次のページを取得するページトークン。

次の結果を得るには、元のリクエストを取り、その中のpageTokenをあなたの応答から受け取ったnextPageTokenに置き換える必要があります。複数のレポートを送信する場合は、nextPageTokenとバッチ内の正しいレポートを一致させてください。

注:現時点では、バッチ内のレポートにラベルを付ける方法はありません。これを追加するチームに機能要求があります。

+0

@DalmTo私もこれを使用しましたが、私は次の場所に行くためのリンクがないだけ15応答を得ています。 – John

+0

追加データがある場合は、nextPageTokenを取得する必要があります。 – DaImTo

+0

@DalmTo私はシンプルになっていますDictそこに次のデータを取得するようなキーがありません – John

関連する問題