Привет! Динар на связи. Вижу, ты хочешь подключить Яндекс.Метрику и Google Analytics к своему Telegram Mini App, написанному на Python. Давай разберемся, как это сделать.
Шаг 1: Подготовка
Создание счетчиков:
- Создай счетчик в Яндекс.Метрике.
- Создай проект и получи идентификатор отслеживания в Google Analytics.
Шаг 2: Установка библиотек
Для работы с API Яндекс.Метрики и Google Analytics тебе понадобятся библиотеки requests
и google-api-python-client
. Установи их через pip:
pip install requests google-api-python-client google-auth-httplib2 google-auth-oauthlib
Шаг 3: Работа с Яндекс.Метрикой
- Получение токена доступа:
Для доступа к API Яндекс.Метрики, тебе потребуется OAuth-токен. Получи его через OAuth-токен Яндекс. - Отправка событий:
Используй следующий код для отправки событий в Яндекс.Метрику:
import requests
METRIKA_TOKEN = 'YOUR_YANDEX_METRIKA_TOKEN'
COUNTER_ID = 'YOUR_COUNTER_ID'
def send_event_to_yandex(event_name, params=None):
url = f'https://api-metrika.yandex.net/management/v1/counter/{COUNTER_ID}/logrequests'
headers = {
'Authorization': f'OAuth {METRIKA_TOKEN}',
'Content-Type': 'application/json',
}
data = {
"events": [
{
"name": event_name,
"params": params or {}
}
]
}
response = requests.post(url, json=data, headers=headers)
return response.json()
# Пример использования
send_event_to_yandex('UserJoined', {'user_id': 12345})
Шаг 4: Работа с Google Analytics
Настройка API
как получить доступ к API Google Analytics 4 максимально просто и понятно. Следуй этой пошаговой инструкции, и ты сможешь получить API без необходимости посещать официальные инструкции Google.
Шаг 1: Создание проекта в Google Cloud Console
- Перейди на Google Cloud Console.
- Если у тебя еще нет аккаунта, зарегистрируйся и войди в систему.
- Нажми на иконку проекта в верхней части страницы и выбери «Создать проект».
- Укажи название проекта и нажми «Создать».
Шаг 2: Включение API Google Analytics
- В меню слева выбери «API и службы» > «Библиотека».
- В поле поиска введи «Google Analytics Data API» и выбери его из списка.
- Нажми «Включить».
Шаг 3: Создание учетных данных для доступа к API
- В меню слева выбери «API и службы» > «Учетные данные».
- Нажми «Создать учетные данные» и выбери «Сервисный аккаунт».
- Укажи название сервисного аккаунта и нажми «Создать и продолжить».
- На следующем шаге выбери роль «Viewer» и нажми «Продолжить».
- Нажми «Готово».
Шаг 4: Загрузка файла ключа сервисного аккаунта
- В разделе «Учетные данные» найди созданный сервисный аккаунт и нажми на его название.
- Перейди на вкладку «Ключи» и нажми «Добавить ключ» > «Создать новый ключ».
- Выбери формат ключа «JSON» и нажми «Создать». Файл ключа будет автоматически загружен на твой компьютер.
Шаг 5: Настройка доступа в Google Analytics
- Перейди на Google Analytics и выбери нужный аккаунт.
- Перейди в «Администратор» (иконка шестеренки внизу слева).
- В разделе «Учетная запись» выбери «Управление доступом к аккаунту».
- Нажми кнопку «Добавить» и введи email-адрес сервисного аккаунта (найдешь его в загруженном JSON-файле в поле
client_email
). - Выбери роль «Viewer» и нажми «Добавить».
Шаг 6: Использование API в Python
Установи необходимые библиотеки:
pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
Напиши код для работы с API:
from google.oauth2 import service_account
from googleapiclient.discovery import build
# Замените 'path/to/your/service-account-file.json' на путь к вашему JSON-файлу ключа сервисного аккаунта
KEY_FILE_LOCATION = 'path/to/your/service-account-file.json'
SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
credentials = service_account.Credentials.from_service_account_file(
KEY_FILE_LOCATION, scopes=SCOPES)
analytics = build('analyticsdata', 'v1beta', credentials=credentials)
# Пример запроса к API
request_body = {
'dateRanges': [{'startDate': '2023-01-01', 'endDate': '2023-01-31'}],
'dimensions': [{'name': 'city'}],
'metrics': [{'name': 'activeUsers'}]
}
response = analytics.properties().runReport(
property='properties/YOUR_PROPERTY_ID', body=request_body).execute()
print(response)
Замените YOUR_PROPERTY_ID
на идентификатор вашего ресурса Google Analytics.
Теперь у тебя есть доступ к API Google Analytics 4, и ты можешь использовать его в своем Python-коде. Если возникнут вопросы или сложности, не стесняйся обращаться. Удачи!
Отправка событий
Используй следующий код для отправки событий в Google Analytics:
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
KEY_FILE_LOCATION = 'path/to/your/service-account-file.json'
VIEW_ID = 'YOUR_VIEW_ID'
def initialize_analyticsreporting():
credentials = service_account.Credentials.from_service_account_file(
KEY_FILE_LOCATION, scopes=SCOPES)
analytics = build('analyticsreporting', 'v4', credentials=credentials)
return analytics
def send_event_to_google(analytics, event_category, event_action, event_label=None, event_value=None):
body = {
'reportRequests': [
{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
'metrics': [{'expression': 'ga:totalEvents'}],
'dimensions': [{'name': 'ga:eventCategory'}, {'name': 'ga:eventAction'}, {'name': 'ga:eventLabel'}, {'name': 'ga:eventValue'}],
'filtersExpression': f'ga:eventCategory=={event_category};ga:eventAction=={event_action}'
}
]
}
if event_label:
body['reportRequests'][0]['dimensions'].append({'name': 'ga:eventLabel'})
if event_value:
body['reportRequests'][0]['dimensions'].append({'name': 'ga:eventValue'})
response = analytics.reports().batchGet(body=body).execute()
return response
# Пример использования
analytics = initialize_analyticsreporting()
send_event_to_google(analytics, 'User', 'Join', 'User12345', 1)
Вот и всё! Теперь ты можешь отслеживать события из своего Telegram Mini App с помощью Яндекс.Метрики и Google Analytics. Если будут вопросы, не стесняйся обращаться. Удачи!