Урок 2. Доступ к API: как зарегистрировать приложение на Яндекс.OAuth

В этом уроке вы узнаете:

  1. Что такое OAuth-авторизация и OAuth-токен
  2. Как зарегистрировать приложение на Яндекс.OAuth
  3. Что дальше
  4. Полезные ссылки
  5. Вопросы

В этом уроке мы расскажем о первом шаге получения доступа к API Директа для приложения — о регистрации приложения на Яндекс.OAuth. О втором шаге — подаче заявки на доступ — вы узнаете в следующем уроке.

В предыдущем уроке вы создали аккаунт в Директе, который будете использовать как разработчик приложений. Теперь необходимо зарегистрировать приложение на Яндекс.OAuth — вы можете сделать это, даже если само приложение еще не создано.

Что такое OAuth-авторизация и OAuth-токен

OAuth-авторизация — это механизм, который позволяет приложению работать с данными пользователя от его имени без необходимости использовать пароль от аккаунта.

В процессе авторизации используются OAuth-токены, которые представляют собой строку с зашифрованными данными:

  • идентификатор пользователя;
  • идентификатор приложения, которому разрешен доступ к данным пользователя на сервисе;
  • набор прав — действий, доступных приложению.

Ваше приложение для работы с API Директа должно быть зарегистрировано на сервисе Яндекс.OAuth. Тогда пользователь сможет разрешить приложению доступ к своим рекламным материалам, а приложение — получить OAuth-токен. Токен необходимо указывать в каждом запросе к API — так Директ узнает, с каким аккаунтом сейчас будет работать приложение, и проверит наличие прав на выполняемые действия.



Внимание.
  • Каждый токен уникален, поскольку выдается для связки «приложение + пользователь». Невозможно получить два одинаковых токена или получить более одного токена для одной и той же связки.
  • Если приложение не передало токен в запросе к API, то сервер не позволит получить или изменить какие-либо данные.

Как зарегистрировать приложение на Яндекс.OAuth

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

  • Название вашего сервиса — название, которое будут видеть все пользователи сервиса. Также можно прикрепить иконку вашего сервиса.
  • Платформы — установите флажок Веб-сервисы. В строке Redirect URI укажите ссылку, по которой будет перенаправлен пользователь после того, как он разрешил или отказал приложению в доступе.
  • Доступ к данным — укажите Использование API Яндекс Директа (direct:api), чтобы получить доступ к управлению рекламными материалами. Можете ввести часть названия, затем выбрать подходящее из предложенного списка.
Примечание. Если вы хотите, чтобы приложение могло работать с данными пользователей и в других сервисах Яндекса — например, в Яндекс Метрике, то вы можете отметить соответствующие права. В этом курсе мы рассматриваем работу только с Директом.
  • Почта для связи — укажите личную почту или почту компании.

После заполнения полей нажмите кнопку Создать приложение. На странице вы увидите идентификатор, присвоенные приложению, и секретный ключ, которым будет подписан токен. Идентификатор приложения потребуется при заполнении заявки на доступ к API, а также для получения токена. Идентификатор и другие параметры доступны в веб-интерфейсе Яндекс.OAuth в любой момент.



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

Что дальше

Итак, вы сделали первый шаг для получения доступа к API Директа — зарегистрировали приложение на Яндекс.OAuth. В следующем уроке мы расскажем, как подать заявку на доступ к API, а далее — как получить OAuth-токен.

Вопросы

  1. Как Директ узнает, с каким аккаунтом пользователя работает приложение через API?
    Неверно.
    Неверно.
    Верно!
    Неверно.
  2. Для чего нужна регистрация на сервисе Яндекс.OAuth?
    Ответ неполный.
    Ответ неполный.
    Верно!
    Неверно.
    Неверно.
  3. Как отреагирует сервер API Директа, если в запросе не указан OAuth-токен?
    Неверно.
    Верно!
    Неверно.