Клуб API Вебмастера

Не могу авторизироваться. Возвращается {"error": "unauthorized_client"}

Пользуюсь способом описанным здесь http://api.yandex.ru/oauth/doc/dg/reference/resource-owner-credentials.xml  , отправляю строку в POST вида

$postData = 'grant_type=password&username='.$username.'&password='.$password.'&client_id=' . $applicationId . '&client_secret=' . $applicationPass;

 

Возвращается {"error": "unauthorized_client"} - не пойму в чем дело. Приложение зарегистрированы, всё на месте.

7 комментариев
Добрый день.
Вы используете способ авторизации, который для API Яндекс.Вебмастера запрещен. Об этом написано в разделе "Условия использования API": при получении авторизационного токена разрешается использовать только один способ - получение токена путем запроса разрешения пользователя.
http://api.yandex.ru/webmaster/doc/dg/concepts/About.xml

Спасибо за ответ. Не очень понимаю тогда как автоматически получать токен и работать с апи. Задача такая:

есть список сайтов, нужен скрипт в cron, чтобы переодически проверял заражен ли сайт вирусом или нет.

Есть ли способ?

Вы можете попробовать использовать отладочный токен. См. раздел "Получение отладочного токена". Про рекомендации для консольных приложений можно почитать здесь.

отладочный токен это хорошо, но его как я понял получать только вручную. Подскажите, нет ли автоматического способа получать отладочный токен?

Укажите в качестве Callback URL свою страницу, которая получив code сделает POST запрос в oauth и получит токен. Вот здесь об этом написано в документации: http://api.yandex.ru/oauth/doc/dg/reference/obtain-access-token.xml
В вашем случае нужно выбрать вариант с response_type=code и сделать запрос вида https://oauth.yandex.ru/authorize?response_type=code&client_id=[&display=][&state=]. В ответ придет code, по которому можно получить токен.
Почитайте раздел "Использование кода подтверждения (response_type=code)" в документации по ссылке.

Здравствуйте! Изменилась ли ситуация с данным вопросом? По-прежнему нужно пытаться использовать отладочный токен?
Пытаюсь получить доступ к API Яндекс.Метрика