API аналитики отчетов GA возвращает 0 для многих метрик, но интерфейс показывает данные - PullRequest
1 голос
/ 06 марта 2019

Мы запрашиваем данные Google Analytics от имени ряда пользователей, которые заходят на наш сайт.У нас есть несколько случаев, когда мы видим 0 для всех запрошенных метрик для пользователя, даже если пользователь может видеть данные в пользовательском интерфейсе GA.

Мы используем клиентские библиотеки Python для извлечения данных,используя следующий код:

def traffic_report(profile_id, oauth_cred, start_date=None, end_date=None):
    return _report(profile_id,
               oauth_cred,
               start_date=start_date,
               end_date=end_date,
               metrics=[
                   'ga:users',
                   'ga:sessions',
                   'ga:newUsers',
                   'ga:sessionDuration',
                   'ga:avgSessionDuration',
                   'ga:percentNewSessions',
                   'ga:bounceRate',
                   'ga:pageviews',
                   'ga:pageviewsPerSession',
                   'ga:uniquePageviews',
               ])


def _report(profile_id, oauth_cred, start_date=None, end_date=None, metrics=None, dimensions=None):
    import httplib2
    http = httplib2.Http()
    http = oauth_cred.authorize(http)
    from apiclient.discovery import build
    analytics = build(ANALYTICS_API_SERVICE_NAME,
                      ANALYTICS_REPORTING_API_VERSION,
                      http=http,
                      discoveryServiceUrl=ANALYTICS_DISCOVERY_URI)
    metrics_request = [{'expression': metric} for metric in (metrics or [])]
    dimensions_request = [{'name': dimension} for dimension in (dimensions or [])]
    response = analytics.reports().batchGet(
        body={
            'reportRequests': [{
                'viewId': profile_id,
                'dateRanges': [{
                    'startDate': start_date.strftime('%Y-%m-%d'),
                    'endDate': end_date.strftime('%Y-%m-%d'),
                }],
                'metrics': metrics_request,
            }]
        }
    ).execute()
    return response['reports'][0]

Кто-нибудь знает, что это может быть?Я спросил у Google, но они не сильно помогли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...