Обертка над библиотекой google_api_python_client для работы с API Google Analytics v3
Project description
Обертка над стандартной библиотекой 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
Удачи тебе, друг! Поставь звездочку ;)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 |