Попытка определить количество активных пользователей на определенной странице с помощью 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