Урок 4. Как получить OAuth-токен
В этом уроке вы узнаете:
- Как получить OAuth-токен вручную
- Почему OAuth-токен может перестать действовать
- Что дальше
- Полезные ссылки
- Вопросы
В этом уроке мы подробнее расскажем об OAuth-токенах, их получении и использовании.
Из предыдущих уроков вы уже знаете, что API Директа использует OAuth-авторизацию. Напомним, что в каждом запросе к API необходимо указывать OAuth-токен. В токене зашифрована информация как о приложении, так и о пользователе. Токен используется для того, чтобы определить: от имени какого пользователя Директа приложение выполняет запрос; действительно ли пользователь разрешил этому приложению доступ к своим данным в Директе; есть ли у самого пользователя нужные полномочия для работы с теми рекламными материалами, к которым он обращается.
Таким образом, при работе с Директом через API нет необходимости передавать пароль от аккаунта пользователя. Достаточно передать OAuth-токен, что делает процесс работы с API Директа более безопасным. Но важно понимать, что для каждого пользователя в приложении требуется получить отдельный токен.
На начальных этапах разработки приложения достаточно вручную получить так называемый отладочный токен. В дальнейшем, при переходе к реальной работе, необходимо будет реализовать в приложении удобный для пользователей механизм получения токена, когда пользователь просто нажимает кнопку Разрешить в веб-интерфейсе Яндекс.OAuth, а затем Яндекс.OAuth передает приложению токен в автоматическом режиме.
Обратите внимание, что токен, полученный вручную, ничем не отличается от полученного в автоматическом режиме. Токен дает возможность управлять реальными рекламными материалами пользователя, независимо от способа, которым этот токен получен.
Как получить OAuth-токен вручную
В одном из предыдущих уроков вы зарегистрировали приложение на Яндекс.OAuth, при этом в поле Callback URI #1 подставили URL для разработки. Если вы этого не сделали — оставили поле незаполненным или указали другое значение, перейдите на Яндекс.OAuth (https://oauth.yandex.ru) и отредактируйте настройки приложения: установите флажок Веб-сервисы, нажмите ссылку Подставить URL для разработки и сохраните изменения. Теперь вы можете вручную получить токен для тестового пользователя.
В роли тестового пользователя вы можете использовать тот же аккаунт разработчика, под которым вы зарегистрировали приложение и подали заявку на доступ. В данном курсе мы рассматриваем именно этот вариант.
Для получения токена вручную выполните следующие действия:
- Войдите на Яндекс под своим логином.
- Перейдите по ссылке
https://oauth.yandex.ru/authorize?response_type=token&client_id=ИДЕНТИФИКАТОР_ПРИЛОЖЕНИЯ
(вместо ИДЕНТИФИКАТОР_ПРИЛОЖЕНИЯ укажите идентификатор своего приложения).
- На открывшейся странице нажмите кнопку Разрешить.
- Яндекс.OAuth перенаправит вас на страницу, на которой отобразит токен. Токен будет также добавлен в адресную строку. Скопируйте токен, чтобы использовать его в запросах к API.
- Никому не сообщайте токен — с его помощью можно получить доступ к данным пользователя в Директе.
- Вы можете создать отдельный аккаунт тестового пользователя (или несколько аккаунтов). Для нового пользователя необходимо создать аккаунт в веб-интерфейсе Директа, выбрав страну и валюту расчетов, а также принять пользовательское соглашение в разделе API. Чтобы получить токен для пользователя, нужно войти на Яндекс под его логином и повторить описанную выше процедуру.
Почему OAuth-токен может перестать действовать
Со временем токен может стать недействительным и потребуется получить новый.
Все токены пользователя будут отозваны, если:
- пользователь изменил пароль на Яндексе;
- пользователь нажал ссылку Выйти на всех компьютерах.
Токен, выданный для определенного приложения, будет отозван, если:
- пользователь отменил доступ приложения к своим данным (эта возможность доступна в веб-интерфейсе Яндекс Паспорта);
- разработчик приложения изменил права доступа для своего приложения;
- срок жизни токена истек.
Полный перечень ситуаций, при которых Яндекс.OAuth отзывает токены, приведен в документации Яндекс.OAuth.
Что дальше
Итак, вы получили токен, с которым можете выполнять запросы к API. Впереди последний подготовительный этап: создание и настройка Песочницы — тестовой среды для отладки приложения. Затем мы перейдем непосредственно к составлению запросов к API.
Полезные ссылки
Документация Яндекс.OAuth:
Вопросы
- Чем отладочный токен отличается от полученного в автоматическом режиме?Неверно.Неверно.Верно!
- Может ли токен пользователя перестать действовать?Неверно.Верно!Неверно.
- Какие условия необходимы для получения отладочного токена?Неверно.Неверно.Верно!Неверно.