Ошибка при запросе к Яндекс API

Рейтинг: 2Ответов: 1Опубликовано: 09.01.2023

При попытке GET запроса на url https://api-developer.tech.yandex.net/projects для определения идентификатора проекта получаю ответ:

{"message": "You don't have the permission to access the requested resource. It is either read-protected or not readable by the server."}

Хотя согласно документации должно работать:

В настоящее время у кабинета разработчика Яндекса есть свой API.

В его документации написано, как узнать лимиты API и количество выполненных запросов.

Для запроса нужно подготовить входные данные:

  • Подключить API Кабинета разработчика и получить X-Auth-Key.

  • Определить идентификатор проекта.

  • Определить идентификатор сервиса.

  • Теперь чтобы посмотреть параметры лимита запросов к API сервисов, используйте HTTP-запрос с методом GET:

    GET /projects/<project_id>/services/<service_id>/limits
    Host: https://api-developer.tech.yandex.net
    X-Auth-Key: <ключ API Кабинета разработчика>

Ответ вернёт как суточный лимит "limit", так и количество выполненных запросов "value". Определить остаток будет несложно. =)

Пробовал разные варианты, код запроса примерно такой:

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api-developer.tech.yandex.net/projects');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPGET, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    "Host: https://api-developer.tech.yandex.net",
    "X-Auth-Key: b0017051-0b1e-4b09-9599-19f7a33ce"
));
$response = curl_exec($curl);
curl_close($curl);
echo ($response);

Из токена только убрал несколько символов, ответ получаю следующий:

HTTP/1.1 403 FORBIDDEN Content-Length: 137 Content-Type: application/json {"message":"You don't have the permission to access the requested resource. It is either read-protected or not readable by the server."}

Ответы

▲ 1

Нужно использовать ключ разработчика, не ключ карты или другого сервиса. На странице разработчика

Нажмите кнопку для подключения api и выберите api разработчика из выпадающего списка. Затем создайте ключ и используйте его.