---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.ru/dev/direct/doc/en/token.md
  - https://yandex.ru/dev/direct/doc/ru/token.md
  - href: ru/token.md
    type: text/markdown
    title: Markdown version
  - href: llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/start/token.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/direct/doc/ru/llms.txt

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



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

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

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

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

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

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

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

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

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

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

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

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

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

    ![](_assets/token_get1.png)

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

    ![](_assets/token_get2.png)

{% note alert %}

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

{% endnote %}

{% note tip %}

Если вам не удалось получить токен по какой-либо причине, воспользуйтесь [подробной инструкцией](https://yandex.ru/dev/id/doc/ru/tokens/debug-token).

{% endnote %}

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

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

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

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

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

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

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

## Что дальше {#token_whats_now}

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

## Полезные ссылки {#token_usfull_links}

Документация Яндекс OAuth:

- [Отладочный токен](https://yandex.ru/dev/id/doc/ru/tokens/debug-token)
- [Отзыв токена](https://yandex.ru/dev/id/doc/ru/tokens/token-invalidate)
