2017-04-19 46 views
0

我想拉特定段的白天会话数据。我正在试图用下面的脚本来做到这一点。谷歌分析API - GA:日不显示正确的数据

但是,当我使用ga:day作为维度时,返回的会话数量远远低于Google Analytics用户界面中的会话数量。

此外,results.get(日期)项目返回“无”(如果我给一个日期范围,它仍然只有一个会话号码)。

我没有看到什么?

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() 

回答

0

有一两件事值得一检查,如果在GA的段的设置 - 如果你想从他们那里拉会话数据确保它们设置为会话级别,而非用户级别,因为这可能会影响您的数据时您可以尝试将其与GA报告进行匹配。

+0

我该在哪里改变? – user1072337

+0

当您在GA中编辑细分时,左下角会出现一个下拉菜单,选择“用户”或“会话”级别。 –