All Projects → pavelmaksimov → galytics3

pavelmaksimov / galytics3

Licence: other
Обертка над стандартной библиотекой google_api_python_client для легкой работы с API Google Analytics v3

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to galytics3

sparql-micro-service
SPARQL micro-services: A lightweight approach to query Web APIs with SPARQL
Stars: ✭ 22 (+37.5%)
Mutual labels:  api-wrapper
ReplAPI.it-NodeJS
[DEPRECIATED] 𝙀𝙫𝙚𝙧𝙮𝙩𝙝𝙞𝙣𝙜 𝙍𝙚𝙥𝙡𝙞𝙩, 𝙖𝙡𝙡 𝙖𝙩 𝙮𝙤𝙪𝙧 𝙙𝙞𝙨𝙥𝙤𝙨𝙖𝙡. This is the single most extensive Replit package, allowing you to access various parts of the site with just a few classes and methods. Maintained by @RayhanADev.
Stars: ✭ 32 (+100%)
Mutual labels:  api-wrapper
Stop.Google.Analytics.Ghost.Spam.HOWTO
How to stop Google Analytics "Ghost" Spam using a well curated list of spam referrer domains and web sites. Simple and easy to use with instructions for creating Segments in Google Analytics using our google-exclude files.
Stars: ✭ 21 (+31.25%)
Mutual labels:  google-analytics
yii2-google-analytics
Google Analytics Universal tracking widget.
Stars: ✭ 14 (-12.5%)
Mutual labels:  google-analytics
nextcloud
Nextcloud OCS and WebDAV API wrapper for Ruby.
Stars: ✭ 16 (+0%)
Mutual labels:  api-wrapper
blscrapeR
A tool to gather, analyze and visualize data from the Bureau of Labor Statistics (BLS) API. Functions include segmentation, geographic analysis and visualization.
Stars: ✭ 89 (+456.25%)
Mutual labels:  api-wrapper
sophos-central-api-connector
Leverage Sophos Central API
Stars: ✭ 17 (+6.25%)
Mutual labels:  api-wrapper
cryptocompare
Python3 Wrapper for the CryptoCompare API
Stars: ✭ 147 (+818.75%)
Mutual labels:  api-wrapper
digitalocean
A prototype API for Digital Ocean.
Stars: ✭ 35 (+118.75%)
Mutual labels:  api-wrapper
ro.py
ro.py is a modern, asynchronous Python 3 wrapper for the Roblox API.
Stars: ✭ 65 (+306.25%)
Mutual labels:  api-wrapper
web-analytics-handbook
Handbook - Rendezvous between developers and web data
Stars: ✭ 23 (+43.75%)
Mutual labels:  google-analytics
Social-Media-Monitor
Automatically monitor and log fan counters from social media(Facebook Pages, Twitter, Instagram, YouTube, Google+, OneSignal, Alexa) using APIs to Google Spreadsheet. Very useful for website admins and social media managers.
Stars: ✭ 36 (+125%)
Mutual labels:  google-analytics
humanapi
The easiest way to integrate health data from anywhere - https://www.humanapi.co
Stars: ✭ 21 (+31.25%)
Mutual labels:  api-wrapper
primeuploads-py
An unoffcial python API client for primeuploads.com
Stars: ✭ 40 (+150%)
Mutual labels:  api-wrapper
node-steamapi
A nice Steam API wrapper for nodejs
Stars: ✭ 112 (+600%)
Mutual labels:  api-wrapper
anx-api
Javascript wrapper for the AppNexus Console API
Stars: ✭ 37 (+131.25%)
Mutual labels:  api-wrapper
kirby-ga
Kirby GA - Google Analytics
Stars: ✭ 16 (+0%)
Mutual labels:  google-analytics
coinmarketcap-api
CoinMarketCap.com API PHP wrapper
Stars: ✭ 26 (+62.5%)
Mutual labels:  api-wrapper
WikidataQueryServiceR
An R package for the Wikidata Query Service API
Stars: ✭ 23 (+43.75%)
Mutual labels:  api-wrapper
radiobrowser4j
RadioBrowser Java API library
Stars: ✭ 30 (+87.5%)
Mutual labels:  api-wrapper

Обертка над стандартной библиотекой google_api_python_client для легкой работы с API Google Analytics v3

Написано на версии python 3.5

Умеет запрашивать данные маленькими порциями, чтобы обойти семплирование. Также если в один ответ не поместятся все строки (макс 10000 строк), сделает дополнительные запросы.

Установка

# Установите эту штуку, она будет генерировать маленькие интервалы в случае семплирования.
# без нее работать не будет
pip install git+https://github.com/pavelmaksimov/daterangepy#egg=daterangepy-2019.4.9
pip install --upgrade git+https://github.com/pavelmaksimov/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
print(df)

# Вернуть в JSON
data = api.get_accounts(as_dataframe=False)
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)

Зависимости

Автор

Павел Максимов

Связаться со мной можно в Телеграм и в Facebook

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].