Skip to main content

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


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)

Uploaded Source

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

Hashes for galytics3-2020.10.28.tar.gz
Algorithm Hash digest
SHA256 be7678851cb8373814c673308a90b4a37ff43cb7537986b40c14beecc92d20f1
MD5 cc417192d1c8973af054f045325ea1cc
BLAKE2b-256 49861f2c4bdf70c68d3575a0bd8656ae6a52fd8cf5f553d077a3d9b2b5d1b2c6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page