Яндекс метрика api 403 ошибка

Если проблема в том, что получаете ошибку 403, когда к счетчику нет публичного доступа, обратите внимание на вот эту строчку в настройках, указанных на яндекс.метрике

Authorization: OAuth 05dd3dd84ff948fdae2bc4fb91f13e22bb1f289ceef0037

соответственно у Вас header = {} должен иметь вид

header = {‘Authorization’: ‘OAuth AQAAAAAAlc93AAWFfpGrC1vQA0KggaP3zz91QDw’}

Вот ответ от Вашего счетчика после исправления header

total Count_1 [‘672.0’, ‘ 485.0’]

Здравствуйте. Пытаюсь вывести на сайте через json данные с метрики.

Создал приложение, создал oauth_token, но когда пробую получить данные, вылазит 403 ошибка (нет доступа).

К примеру, использую запрос:

https://api-metrika.yandex.ru/stat/v1/data?metrics=ym:s:visits,ym:s:pageviews&dimensions=ym:s:referer,ym:s:startURLDomain&date1=2015-01-01&date2=yesterday&limit=10000&offset=1&ids=<мойidсчетчики>&oauth_token=<мойoauth_token>

И получаю:

{«errors»:[{«error_type»:»access_denied»,»message»:»Access is denied»}],»code»:403,»message»:»Access is denied»}

Если сделать счетчик Метрики публичным и открыть всем доступ, тогда все работает, и данные отдаются корректно.

Можно ли не делая счетчик публичным, добиться, чтобы данные отдавались?

  1. Создал приложение:
    введите сюда описание изображения

  2. дал ему доступы:
    введите сюда описание изображения
    введите сюда описание изображения

  3. получил токен здесь https://tech.yandex.ru/oauth/doc/dg/tasks/get-oauth-token-docpage/.

4.Хочу получить отчет:

$url = 'https://api-metrika.yandex.ru/stat/v1/data';
$oauth_token = 'AQAAAAAERkkuAAWm1kmj8FEypEKkriccnX3eOJE';

$headers = [
   'Host' =>  'api-metrika.yandex.net',
   'Authorization' => 'OAuth ' . $oauth_token,
   'Content-Type' =>  'application/x-yametrika+json',
   'Content-Length'  => '123'
];

$params = [
    'ids'         => '38087760',
    'metrics'     => 'ym:s:visits,ym:s:pageviews,ym:s:users',
    'dimensions'  => 'ym:s:date',
    'date1'       => '7daysAgo',
    'date2'       => 'yesterday',
    'sort'        => 'ym:s:date',
];
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_POST, false);

$page = curl_exec ($ch);
if ($page === FALSE) {
    echo "cURL Error: " . curl_error($ch);
}
curl_close($ch); 
echo '<pre>';
var_dump($page); 
echo '</pre>';

5.А получаю Access denied.

{"errors":[{"error_type":"access_denied","message":"Access is denied"}],"code":403,"message":"Access is denied"}"

Не могу понять почему нет доступа.

Сервис Яндекс.Метрика и UTMSTAT интегрируются, буквально, в два счёта: для этого достаточно перейти в раздел “Настройки интеграций“, затем указать в соответствующем поле формы номер счётчика Яндекс.Метрики и домен, где он установлен.

Расположение номера счетчика в списке счетчиков сервиса Яндекс.метрика

Однако, что делать, если подключить сервис с первого раза не удаётся? В этой статье приводится пошаговая инструкция по подключению Яндекс.Метрики. Кроме того, разбираются типичные ошибки в настройке и даются ответы на самые распространенные вопросы.

Где взять номер счётчика Яндекс.Метрики?

Перейдите в панель управления сервиса Яндекс.Метрика, раздел “Мои счетчики”. Нужный вам номер счетчика – это набор цифр, расположенный рядом с доменом сайта.

При подключении Яндекс.Метрики выдаётся ошибка – 403 (нет доступа). Что делать?

Подключаемый аккаунт Яндекс.Метрики должен иметь право на редактирование настроек (а не только на просмотр). Это необходимо для того, чтобы учетная запись в автоматическом режиме имела возможность создать цели (конверсии).

Если при подключении Яндекс.Метрики на странице “Интеграции с сервисами” индикатор “Доступ проверен” (1) горит красным, нажмите ссылку “посмотреть”, чтобы увидеть, какая именно выдается ошибка.

расположение ссылки окна просмотра ошибок

В случае, если код ошибки – 403, это означает, что в подключаемом аккаунте нет прав на и редактирование счетчика.

сообщение об ошибке интеграции яндекс.метрика

В этом случае, надо добавить доступ на редактирование для подключаемого аккаунта Яндекс.Метрики или войти в другой аккаунт, в котором эти права есть (перелогиниться в другую учетную запись в отдельном окне браузера).

Как проверить доступ на редактирование для аккаунта Яндекс.Метрики?

Авторизуйтесь в сервисе Яндекс.Метрика. В списке счетчиков щелкните по нужному счетчику и перейдите в раздел настроек.

расположение раздела “настройка” счетчика в сервисе яндекс.метрика

Перейдите в раздел “Доступы” (1). Учетная запись должна иметь права на редактирование (2).

Расположение раздела “Доступ” и отображение статуса прав пользователя в сервисе яндекс.метрика

Как убедиться, что учетная запись в сервисе Яндекс.Метрика имеет права на создание целей?

Перейдите в раздел “Цели” (1). Кнопка “Добавить цель” (2) должна быть активна (не серая).

Расположение раздела “Цели”. Кнопка “Добавить цель” активна

Цели и конверсии настроены, но не отображаются в отчетах. Что делать?

Как правило, отражение достигнутых целей в отчетах происходит с некоторой задержкой. Если вы уверены, что все цели настроены корректно – подождите некоторое время. Цели будут выведены в отчете (как правило – не более суток).

Вам также понравится

  1. Создал приложение:
    введите сюда описание изображения

  2. дал ему доступы:
    введите сюда описание изображения
    введите сюда описание изображения

  3. получил токен здесь https://tech.yandex.ru/oauth/doc/dg/tasks/get-oauth-token-docpage/.

4.Хочу получить отчет:

$url = 'https://api-metrika.yandex.ru/stat/v1/data';
$oauth_token = 'AQAAAAAERkkuAAWm1kmj8FEypEKkriccnX3eOJE';

$headers = [
   'Host' =>  'api-metrika.yandex.net',
   'Authorization' => 'OAuth ' . $oauth_token,
   'Content-Type' =>  'application/x-yametrika+json',
   'Content-Length'  => '123'
];

$params = [
    'ids'         => '38087760',
    'metrics'     => 'ym:s:visits,ym:s:pageviews,ym:s:users',
    'dimensions'  => 'ym:s:date',
    'date1'       => '7daysAgo',
    'date2'       => 'yesterday',
    'sort'        => 'ym:s:date',
];
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_POST, false);

$page = curl_exec ($ch);
if ($page === FALSE) {
    echo "cURL Error: " . curl_error($ch);
}
curl_close($ch); 
echo '<pre>';
var_dump($page); 
echo '</pre>';

5.А получаю Access denied.

{"errors":[{"error_type":"access_denied","message":"Access is denied"}],"code":403,"message":"Access is denied"}"

Не могу понять почему нет доступа.

Понравилась статья? Поделить с друзьями:
  • Яндекс метрика 404 ошибка
  • Яндекс мессенджер ошибка
  • Яндекс маркет товар разобрали ошибка
  • Яндекс маркет ошибка сервиса
  • Яндекс маркет ошибка при оформлении заказа