Урок 4. Как получить OAuth-токен

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

  1. Как получить OAuth-токен вручную
  2. Почему OAuth-токен может перестать действовать
  3. Что дальше
  4. Полезные ссылки
  5. Вопросы

В этом уроке мы подробнее расскажем об OAuth-токенах, их получении и использовании.

Из предыдущих уроков вы уже знаете, что API Директа использует OAuth-авторизацию. Напомним, что в каждом запросе к API необходимо указывать OAuth-токен. В токене зашифрована информация как о приложении, так и о пользователе. Токен используется для того, чтобы определить: от имени какого пользователя Директа приложение выполняет запрос; действительно ли пользователь разрешил этому приложению доступ к своим данным в Директе; есть ли у самого пользователя нужные полномочия для работы с теми рекламными материалами, к которым он обращается.

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

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

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

Как получить OAuth-токен вручную

В одном из предыдущих уроков вы зарегистрировали приложение на Яндекс.OAuth, при этом в поле Callback URI #1 подставили URL для разработки. Если вы этого не сделали — оставили поле незаполненным или указали другое значение, перейдите на Яндекс.OAuth (https://oauth.yandex.ru) и отредактируйте настройки приложения: установите флажок Веб-сервисы, нажмите ссылку Подставить URL для разработки и сохраните изменения. Теперь вы можете вручную получить токен для тестового пользователя.

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

Для получения токена вручную выполните следующие действия:

  1. Войдите на Яндекс под своим логином.
  2. Перейдите по ссылке

    https://oauth.yandex.ru/authorize?response_type=token&client_id=ИДЕНТИФИКАТОР_ПРИЛОЖЕНИЯ

    (вместо ИДЕНТИФИКАТОР_ПРИЛОЖЕНИЯ укажите идентификатор своего приложения).

  3. На открывшейся странице нажмите кнопку Разрешить.


  4. Яндекс.OAuth перенаправит вас на страницу, на которой отобразит токен. Токен будет также добавлен в адресную строку. Скопируйте токен, чтобы использовать его в запросах к API.


Внимание.
  • Никому не сообщайте токен — с его помощью можно получить доступ к данным пользователя в Директе.
  • Вы можете создать отдельный аккаунт тестового пользователя (или несколько аккаунтов). Для нового пользователя необходимо создать аккаунт в веб-интерфейсе Директа, выбрав страну и валюту расчетов, а также принять пользовательское соглашение в разделе API. Чтобы получить токен для пользователя, нужно войти на Яндекс под его логином и повторить описанную выше процедуру.
Совет. Если вам не удалось получить токен по какой-либо причине, воспользуйтесь подробной инструкцией.

Почему OAuth-токен может перестать действовать

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

Все токены пользователя будут отозваны, если:

  • пользователь изменил пароль на Яндексе;
  • пользователь нажал ссылку Выйти на всех компьютерах.

Токен, выданный для определенного приложения, будет отозван, если:

  • пользователь отменил доступ приложения к своим данным (эта возможность доступна в веб-интерфейсе Яндекс.Паспорта);
  • разработчик приложения изменил права доступа для своего приложения;
  • срок жизни токена истек.

Полный перечень ситуаций, при которых Яндекс.OAuth отзывает токены, приведен в документации Яндекс.OAuth.

Что дальше

Итак, вы получили токен, с которым можете выполнять запросы к API. Впереди последний подготовительный этап: создание и настройка Песочницы — тестовой среды для отладки приложения. Затем мы перейдем непосредственно к составлению запросов к API.

Вопросы

  1. Чем отладочный токен отличается от полученного в автоматическом режиме?
    Неверно.
    Неверно.
    Верно!
  2. Может ли токен пользователя перестать действовать?
    Неверно.
    Верно!
    Неверно.
  3. Какие условия необходимы для получения отладочного токена?
    Неверно.
    Неверно.
    Верно!
    Неверно.