Применение фильтров к API Google Analytics в Python

Я новичок в написании запросов в Google Analytics и заинтересован в добавлении фильтра в метод ниже. В частности, чтобы отфильтровать местоположения, но я постоянно получаю сообщение об ошибке, когда в поле оператора есть что-то кроме "EXACT". для измерения FilterClauses.

есть список допустимых операторов для этого поля? NOT_ EXACT, NOT_EQUALS и символы!=, <>, =/=. кажется, они ошибаются. конкретная ошибка: 400 when requesting https://analyticsreporting.googleapis.com/v4/reports:batchGet?alt=json returned "Invalid value at 'report_requests[0].dimension_filter_clauses[0].filters[0].operator' (TYPE_ENUM), "NOT_EQUAL""> кажется, что должно быть перечисление допустимых операторов, я просто не могу его найти.

def get_report(analytics):
'''Use the Analytics Service Object to query the Analytics Reporting API V4.'''
return analytics.reports().batchGet(
  body={
    'reportRequests': [
    {
      'viewId': VIEW_ID,
      'dateRanges': [{'startDate': '2016-07-01', 'endDate': 'today'}],
      'metrics': [{'expression': 'ga:pageviews'}],
      'dimensions': [{'name': 'ga:country'}, {'name': 'ga:city'}],
      'metricFilterClauses': [{
      'filters': [{
          "metricName": "ga:pageviews",
          "operator": "GREATER_THAN",
          "comparisonValue": "1000"
      }]
      }],
      'dimensionFilterClauses': [
        {
          'filters': [
            {
              "dimensionName": "ga:country",
              "operator": "EXACT",
              "expressions": ["United States"]
            }
          ]
        }
      ]
    }]
  }
).execute()

1 ответ

Может это тебе поможет

     def get_report(analytics):
'''Use the Analytics Service Object to query the Analytics Reporting API V4.'''
return analytics.reports().batchGet(
  body={
    'reportRequests': [
    {
      'viewId': VIEW_ID,
      'dateRanges': [{'startDate': '2019-07-01', 'endDate': '2020-04-01'}],
      'metrics': [{'expression': 'ga:pageviews'}],
      'dimensions': [{'name': 'ga:country'}, {'name': 'ga:city'}],
      "dimensionFilterClauses":[
        {
           "operator":"AND",
           "filters":[
              {
                 "dimensionName":"ga:pageviews",
                 "operator":"NUMERIC_GREATER_THAN",
                 "expressions":[
                    1000
                 ]
              },
              {
                "dimensionName":"ga:country",
                "operator":"EXACT",
                "expressions":[
                   "United States"
                ]
             }
           ]
        }
     ],
    }]
  }
).execute()

Кажется, согласно здесь: https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet

... который ведет сюда: https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet

Это должно быть либо AND или же OR, Не уверен почему EXACT проходит - просто что-то не официально в документации API, кажется. Если не указано, это рассматривается как "ИЛИ".

Другие вопросы по тегам