Я действительно надеюсь, что кто-то может объяснить это для меня.
Я настроил скрипт, который отправляет запросы в 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}}
Я не вижу никаких признаков того, что данные не должны быть полными и правильными,Но все же один ряд отсутствует.