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 hashes)

Uploaded Source

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