Top.Mail.Ru
Ответы

Яндекс Метрика. Помощь с API

Мне поставлена задача:
Нужно отследить просмотры и клики по баннерам на сайте.

Создала цель: banner_views_test

Для тестирования реализовала такой простенький код:

12345678
         document.addEventListener("DOMContentLoaded", function () { 
            document.querySelectorAll("img").forEach(function (banner) { 
 
                let bannerUrl = banner.src; 
                 
                ym(XXXXXX, "reachGoal", "banner_views_test", { bannerUrl }); 
            }); 
        }); 


Далее, в ЯМ, захожу в Отчеты -> Содержание -> Параметры целей.

Там вижу, что все приходит:


Подскажите пожалуйста, как теперь можно получить через API все эти URL(ы) и счетчики напротив? Или посоветуйте более грамотный вариант

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект
2мес
12345678910111213141516171819202122232425
 import requests 
 
TOKEN = "YOUR_ACCESS_TOKEN" 
COUNTER_ID = "XXXXXX" 
 
url = f"https://api-metrika.yandex.net/stat/v1/data" 
params = { 
    "ids": COUNTER_ID, 
    "metrics": "ym:s:goalReaches", 
    "dimensions": "ym:s:goalParameter", 
    "filters": "ym:s:goal=='banner_views_test'", 
    "date1": "7daysAgo", 
    "date2": "today" 
} 
 
headers = {"Authorization": f"OAuth {TOKEN}"} 
response = requests.get(url, params=params, headers=headers) 
 
if response.status_code == 200: 
    data = response.json() 
    for item in data["data"]: 
        print(f"Баннер: {item['dimensions'][0]['name']}, Просмотры: {item['metrics'][0]}") 
else: 
    print("Ошибка:", response.json())