Как добыть данные о событиях со всех страниц в Google Analytics, используя python? - PullRequest
0 голосов
/ 17 сентября 2018

Код, который я использую, приведен ниже, проблема в том, что он возвращает только максимум 1000 строк. Что я должен добавить в этот код, чтобы получить все данные?

def get_report(analytics):
  """Queries the Analytics Reporting API V4.

  Args:
    analytics: An authorized Analytics Reporting API V4 service object.
  Returns:
    The Analytics Reporting API V4 response.
  """
  return analytics.reports().batchGet(
      body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          'dateRanges': [{'startDate': start , 'endDate': end }],
          'metrics': [{'expression': 'ga:totalEvents'}], 
          'dimensions': [{ 'name': 'ga:eventLabel' }],
          'filtersExpression': 'ga:eventLabel=~C_NOTI_TRAIL*' 


        }]
      }
  ).execute()

1 Ответ

0 голосов
/ 19 сентября 2018

Базовый API отчетности предоставляет поля подкачки в объекте ответа, поэтому вы можете получить доступ к следующей странице отчета на основе токена ответа https://developers.google.com/analytics/devguides/reporting/core/v4/basics#pagination

Также, если вы уверены, что ваш отчет не будет превышать 10 000 строквы можете вручную установить предельное значение с помощью запроса с помощью pageSize filed:

body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          'pageSize': 10000,
          'dateRanges': [{'startDate': start , 'endDate': end }],
          'metrics': [{'expression': 'ga:totalEvents'}], 
          'dimensions': [{ 'name': 'ga:eventLabel' }],
           ...
      }

Обязательно проверьте описание pageSize и pageToken в документации: https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet#ReportRequest

...