API отчетов Google Analytics V.4.0.возвращает различное количество строк на определенную дату в зависимости от диапазона дат - PullRequest
0 голосов
/ 22 февраля 2019

Я действительно надеюсь, что кто-то может объяснить это для меня.

Я настроил скрипт, который отправляет запросы в Google Analytics Reporting API V.4.0. с использованием Python для получения данных сеанса,Однако, в зависимости от того, какой диапазон дат я использую, некоторые даты возвращают различное количество строк.

Например, при запросе данных (в данном случае) 2018-05-17 я получаю 41 строку.Количество строк в этот день останется равным 41, если я немного увеличу диапазон дат, но если я зайду слишком далеко, скажем, с 2018-05-01 по 2018-07-10, то количество строк за 2018-05-17внезапно меняется с 41 на 40. Отсутствует одна строка, и я не понимаю, что это происходит, и уж точно не о том, почему это происходит.

У меня нет никаких признаков того, что данные отбираются (samplesReadCountsи samplesReadCounts оба не определены).Я также позаботился о разбивке на страницы, делая последовательные запросы с pageToken, установленным на предыдущее значение nextPageToken (если pageSize не достаточно высоко, как в запросе ниже).Я также получаю правильное количество строк для всех других дат в диапазоне дат (по сравнению с числом строк, возвращаемых с диапазоном дат, установленным для каждой отдельной даты).

Это тело, которое я использую для этой конкретнойrequest (dummy viewId):

{'reportRequests': [{'viewId': '123456789',
   'dateRanges': [{'startDate': '2018-05-01', 'endDate': '2018-07-10'}],
   'dimensions': [{'name': 'ga:date'},
    {'name': 'ga:sourceMedium'},
    {'name': 'ga:campaign'},
    {'name': 'ga:deviceCategory'}],
   'metrics': [{'expression': 'ga:sessions'},
    {'expression': 'ga:pageviews'},
    {'expression': 'ga:bounces'},
    {'expression': 'ga:sessionDuration'},
    {'expression': 'ga:newUsers'}],
   'pageToken': '0',
   'pageSize': '10000',
   'includeEmptyRows': True,
   'hideTotals': True,
   'hideValueRanges': True}]}

И это ответ со всеми вырезанными строками:

{'columnHeader': {'dimensions': ['ga:date',
   'ga:sourceMedium',
   'ga:campaign',
   'ga:deviceCategory'],
  'metricHeader': {'metricHeaderEntries': [{'name': 'ga:sessions',
     'type': 'INTEGER'},
    {'name': 'ga:pageviews', 'type': 'INTEGER'},
    {'name': 'ga:bounces', 'type': 'INTEGER'},
    {'name': 'ga:sessionDuration', 'type': 'TIME'},
    {'name': 'ga:newUsers', 'type': 'INTEGER'}]}},
 'data': {'rows': [], 'rowCount': 3817, 'isDataGolden': True}}

Я не вижу никаких признаков того, что данные не должны быть полными и правильными,Но все же один ряд отсутствует.

...