Отфильтруйте категорию событий из Google Analytics - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь экспортировать данные из GA в нашу корпоративную базу данных, используя python.Мне нужно отправить запрос в GA API с информацией, которую я хочу извлечь.Это самое запрошенное тело:

body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          'dateRanges': [{'startDate': queryDate.strftime("%Y-%m-%d"), 'endDate': queryDate.strftime("%Y-%m-%d")}],
          'metrics': [{'expression': 'ga:totalEvents',
                       'expression':'ga:uniqueEvents'}

                      ],
          'dimensions': [{'name': 'ga:date'},{'name': 'ga:eventCategory'}, # event
                         {'name':'ga:dimension1'}, #userid
                         {'name':'ga:dimension3'}, #sessionid
                         {'name': 'ga:dimension4'},#timestamp
                         {'name':'ga:dimension7'}, #country
                         {'name': 'ga:eventAction'} #azione

          ],

        'dimension_filter_clauses': [
      {
          'operator': 'AND',
          'filters': [
              {
                  'dimensionName': 'ga:eventCategory',
                  'not': False,
                  "operator": 'enum(IN_LIST)',
                  'expressions':[

                    "Category1",
                    "Category2"

                  ],
                  'caseSensitive': False
              }],


            'filters': [
            {
     'dimensionName': 'ga:dimension7',
     'not':True,
     'expressions':['ES'],
     'caseSensitive': False

            }
            ]


      }

          ]

      ,
    'pageToken': offset,
    'pageSize': 5


      }]}

Я хочу фильтровать только для категории, указанной в операторах IN_LIST, но похоже, что фильтр не работает ... Что я делаю не так?

ОБНОВЛЕНИЕ

Кажется, проблема во втором предложении фильтра

        'filters': [
        {
 'dimensionName': 'ga:dimension7',
 'not':True,
 'expressions':['ES'],
 'caseSensitive': False

        }

1 Ответ

0 голосов
/ 04 февраля 2019

Я собираюсь ответить самому себе: из документации было неясно, как задать несколько фильтров.Это работает:

  'dimensionFilterClauses': [
  {
      'operator': 'AND',
      'filters': [
          {
              'dimensionName': 'ga:eventCategory',
              'not': False ,
              'operator': 'IN_LIST',
              'expressions':[

                  "Category1"
              ],
              'caseSensitive': False
          },
          {
              'dimensionName': 'ga:deviceCategory',
              'not': False,
              'expressions': [
                  deviceQuery
              ],
              'caseSensitive': False
          }]
  }

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