Skip to main content

Обертка над стандартной библиотекой 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

Удачи тебе, друг! Поставь звездочку ;)

Release files for galytics3 2020.10.28

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for galytics3 2020.10.28
File Size Uploaded
galytics3-2020.10.28.tar.gz 7.5 kB Details

Release files / galytics3-2020.10.28.tar.gz

Download URL galytics3-2020.10.28.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
be7678851cb8373814c673308a90b4a37ff43cb7537986b40c14beecc92d20f1
BLAKE2b-256 checksum
How to use checksums
49861f2c4bdf70c68d3575a0bd8656ae6a52fd8cf5f553d077a3d9b2b5d1b2c6
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

2020.10.28 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page