Обертка над стандартной библиотекой google_api_python_client для легкой работы с API Google Analytics v3
Написано на версии python 3.5
Умеет запрашивать данные маленькими порциями, чтобы обойти семплирование. Также если в один ответ не поместятся все строки (макс 10000 строк), сделает дополнительные запросы.
Установка
pip install --upgrade galytics3
Как пользоваться
Указание авторизационных данных.
Эта обертка не умеет получать токен, он у вас уже должен быть. Как получить? Гуглите.
Вариант 1
from galytics3 import GoogleAnalytics
api = GoogleAnalytics(refresh_token='{refresh_token}',
client_id='{client_id}',
client_secret='{client_secret}')
Вариант 2
Если у вас объект credential создается другим образом. Через файл или еще как-то.
from galytics3 import GoogleAnalytics
credentials = credentials_object # Ваш объект credential
api = GoogleAnalytics(credentials=credentials)
Вариант 3
Объявление дополнительных настроек, типа кеширования.
from googleapiclient.discovery import build
from galytics3 import GoogleAnalytics
credentials = credentials_object # Ваш объект credential
# В build можно объявить дополнительные настройки, вроде кеширования и т.д.
service = build('analytics', 'v3', credentials=credentials_object)
api = GoogleAnalytics(service=service)
Получаем данные
from datetime import datetime
from galytics3 import GoogleAnalytics
api = GoogleAnalytics(refresh_token='{refresh_token}',
client_id='{client_id}',
client_secret='{client_secret}')
# Получит все аккаунты, ресурсы и представления.
df = api.get_accounts(as_dataframe=True) # По умолчанию данные возвращаются в формате dataframe
data = api.get_accounts(as_dataframe=False) # Вернуть в JSON
print(df)
print(data)
# Получит все цели всех представлений.
df = api.get_goals()
print(df)
# Запросить стандартный отчет
df = api.get_report(
id=12345789,
source='GA',
date1=datetime(2019, 1, 1),
date2=datetime(2019, 1, 10),
dimensions=['ga:date'],
metrics=['ga:percentNewSessions'],
sort='ga:date')
print(df)
# Запросить отчет MCF
df = api.get_report(
id=12345789,
source='mcf',
date1=datetime(2019, 1, 1),
date2=datetime(2019, 1, 10),
dimensions=['mcf:sourceMediumPath', 'mcf:conversionDate, mcf:source'],
metrics=['mcf:totalConversions', 'mcf:totalConversionValue'],
sort='mcf:source',
filters='mcf:ConversionType==Transaction')
print(df)
Зависимости
- pandas
Автор
Павел Максимов
Связаться со мной можно в Телеграм и в Facebook
Удачи тебе, друг! Поставь звездочку ;)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
galytics3-2020.10.28.tar.gz
(7.5 kB
view details)
File details
Details for the file galytics3-2020.10.28.tar.gz.
File metadata
- Download URL: galytics3-2020.10.28.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.6.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be7678851cb8373814c673308a90b4a37ff43cb7537986b40c14beecc92d20f1
|
|
| MD5 |
cc417192d1c8973af054f045325ea1cc
|
|
| BLAKE2b-256 |
49861f2c4bdf70c68d3575a0bd8656ae6a52fd8cf5f553d077a3d9b2b5d1b2c6
|