Я пытаюсь получить данные сеанса по дням для определенных сегментов. Я пытаюсь сделать это с помощью сценария ниже.
Однако, когда я использую ga:day в качестве измерения, возвращаемые сеансы намного ниже, чем в пользовательском интерфейсе Google Analytics.
Кроме того, элемент results.get(date) возвращает «Нет» (если я укажу диапазон дат, он все равно будет иметь только один номер сеанса).
Что я не вижу?
def get_segment_sessions(service, profile_id, segment_id):
return service.data().ga().get(
ids='ga:' + profile_id,
segment='gaid::' + segment_id,
dimensions='ga:day',
start_date='2017-04-14',
end_date='2017-04-14',
metrics='ga:sessions').execute()
def print_results(results):
# Print data nicely for the user.
if results:
print 'View (Profile): %s' % results.get('profileInfo').get('profileName')
print 'Date: %s' % results.get('date') + ' Total Sessions: %s' % results.get('rows')[0][0]
else:
print 'No results found'
def main():
# Define the auth scopes to request.
scope = ['https://www.googleapis.com/auth/analytics.readonly']
# Use the developer console and replace the values with your
# service account email and relative location of your key file.
service_account_email = '**********'
key_file_location = '********'
# Authenticate and construct service.
service = get_service('analytics', 'v3', scope, key_file_location,
service_account_email)
profile = get_first_profile_id(service)
print_results(get_results(service, profile))
get_segments(service)
#print odd video sessions
print_results(get_segment_sessions(service, profile, '*********'))
#print even video sessions
print_results(get_segment_sessions(service, profile, '********'))
if __name__ == '__main__':
main()