Как извлечь активных пользователей в реальном времени на определенной странице - PullRequest
0 голосов
/ 28 марта 2019

Попытка определить количество активных пользователей на определенной странице с помощью API отчетов Google Analytics Realtime

Я успешно построил сервис и уже могу привлечь всех активных пользователей на сайте. И я на самом деле был в состоянии получить вывод, который включает в себя счетчик строк для конкретной страницы, но, кажется, не может легко получить только счетчик. Я получаю вывод в формате ... [[u'165 ']] Я хотел бы вытащить счет.

ANALYTICS_VIEW_ID = 'ga:XXXXXXXXX'
RT_ACTIVE_USERS = 'rt:activeUsers'
RT_DIM_PAGEPATH = 'rt:pagePath'
PG_PAGE_NAME = 'rt:pagePath==/page_name'


results_pageview = service.data().realtime().get(ids=ANALYTICS_VIEW_ID, metrics=RT_ACTIVE_USERS, filters=PG_PAGE_NAME).execute()
totals_pageview = results_pageview.get('rows')
print totals_pageview

Я ожидаю вывод количества строк для конкретной страницы. Я получаю дополнительный вывод форматирования в виде ... [[u'165 ']] Как я могу извлечь только значение для использования в другом месте?

Я также пытался:

results_pageview = service.data().realtime().get(ids=ANALYTICS_VIEW_ID, metrics=RT_ACTIVE_USERS, dimensions=RT_DIM_PAGEPATH).execute()

, который предоставит ВСЕ страницы / количество активных операций.
В формате -> [u '/ page_name', u'61 '] Может быть, дело в простом использовании python для перебора списка, поиска первого значения / page_name и вывода второго значения?

РЕШЕНИЕ Я вернулся к ресурсу, который предлагает Google и который предоставляет некоторые подробности в разделе «Ответ»: https://developers.google.com/apis-explorer/#p/analytics/v3/analytics.data.realtime.get идентификаторы: ga: XXXXXXXXX метрики: rt: activeUsers фильтры: rt: pagePath == / имя_страницы

В частности, фильтрация на нужной странице, выдает этот вывод "totalsForAllResults": { "rt: activeUsers": "91" },

И уже определив, как распечатать эту информацию, я использовал этот подход для получения необходимых данных.

results_pageview = service.data().realtime().get(ids=ANALYTICS_VIEW_ID, metrics=RT_ACTIVE_USERS, filters=PG_PAGE_NAME).execute()
totals_pageview = results_pageview.get('totalsForAllResults')
page_users = int(totals_pageview.get("rt:activeUsers"))
print page_users
...