Доступ к API
При работе с API Яндекс Трекера запросы выполняются от имени пользователя Трекера. Чтобы выполнять те или иные действия через API, пользователь, от имени которого выполняется запрос, должен иметь соответствующие права в Трекере. Подробнее о правах доступа пользователей читайте в разделе Роли и права доступа в Трекере.
Для доступа к API Яндекс Трекера можно использовать один из способов авторизации:
-
По протоколу OAuth 2.0. В этом случае в запросах к API Трекера указывайте заголовок:
Authorization: OAuth <OAuth-токен>
Подробнее в разделе Получить доступ к API по протоколу OAuth 2.0.
-
С помощью IAM-токена. В этом случае в запросах к API Трекера указывайте заголовок:
Authorization: Bearer <IAM-токен>
Подробнее в разделе Получить доступ к API по IAM-токену.
О формате заголовков читайте в разделе Заголовки.
Если вы используете для вызова API Python-клиент, укажите данные для авторизации при инициализации клиента. Подробнее читайте в разделе Python-клиент.
Получить доступ к API по протоколу OAuth 2.0
Если вы используете федеративный или сервисный аккаунт, авторизуйтесь с помощью IAM-токена.
Для доступа к API Яндекс Трекера требуется получить токен в сервисе OAuth. Токен предоставляет те же права, которые есть у аккаунта пользователя в Трекере. Например, если у пользователя нет прав на изменение настроек очереди, соответствующие запросы к API будут недоступны.
Полученный токен используйте в заголовке Authorization
в запросах к API Яндекс Трекера.
С базовыми принципами OAuth, а также с особенностями реализации протокола в Яндексе вы можете ознакомиться в документации сервиса OAuth для Яндекс ID.
Настроить выдачу токенов для пользователей
Допустим, вы хотите интегрировать ваше приложение или систему с Трекером. Например, чтобы система могла создавать задачи в Трекере с помощью API от имени пользователей вашей организации. Тогда для каждого пользователя системы нужно получать токен для доступа к API Яндекс Трекера.
Чтобы настроить выдачу токенов для пользователей:
-
Перейдите по ссылке https://oauth.yandex.ru/client/new/ и зарегистрируйте приложение в сервисе OAuth: см. раздел Регистрация приложения в Справке Яндекс ID.
-
В разделе Доступ к данным добавьте разрешения для работы с API Яндекс Трекера. Чтобы выбрать разрешение, начните вводить его название в поле Название доступа:
-
Запись в трекер (tracker:write) — все операции с данными: создание, удаление, редактирование.
-
Чтение из трекера (tracker:read) — только чтение данных.
Скриншот
-
-
Выберите способ получения OAuth-токена и настройте его: см. раздел Получение OAuth-токена в Справке Яндекс ID.
Получить OAuth-токен
Если вам нужен доступ к API Яндекс Трекера для тестирования, отладки или автоматизации, получите отладочный OAuth-токен:
-
Перейдите по ссылке https://oauth.yandex.ru/client/new/.
-
В разделе Платформы приложения выберите Веб-сервисы.
-
Установите курсор в поле Redirect URI и в подсказке нажмите Подставить URL для отладки. В поле будет подставлено значение
https://oauth.yandex.ru/verification_code
. -
В разделе Доступ к данным добавьте разрешения Запись в трекер (tracker:write) и Чтение из трекера (tracker:read).
-
Чтобы получить отладочный токен:
-
В личном кабинете Яндекс OAuth выберите созданное ранее приложение и скопируйте его идентификатор из поля ClientID.
-
Затем сформируйте ссылку для запроса токена:
https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор_приложения>
- Перейдите по ссылке и скопируйте OAuth-токен. Подробнее читайте в Справке Яндекс ID.
-
Чтобы проверить наличие доступа к API, выполните запрос информации о текущем пользователе. Если доступ не был получен, запрос вернет ответ с кодом 401 Unauthorized
.
Пример запроса информации о текущем пользователе с помощью curl:
curl -X GET 'api.tracker.yandex.net/v3/myself' \
-H 'Authorization: OAuth ABC-def12GH_******' \
-H 'X-Cloud-Org-Id: abcd12******'
curl -X GET "api.tracker.yandex.net/v3/myself" ^
-H "Authorization: OAuth ABC-def12GH_******" ^
-H "X-Cloud-Org-Id: abcd12******"
Получить доступ к API по IAM-токену
Если вы используете Трекер в составе организации Yandex Cloud, для авторизации в API можно использовать IAM-токен.
IAM-токен — уникальная последовательность символов, которая выдается пользователю после прохождения аутентификации. С помощью этого токена пользователь авторизуется в API Яндекс Трекера и выполняет операции с ресурсами. Подробнее об этом способе аутентификации читайте в документации сервиса идентификации и контроля доступа.
IAM-токен действует не больше 12 часов и ограничен временем жизни cookie у федерации. После истечения срока жизни токена вернется ошибка с кодом 401 Unauthorized
.
Python-клиент
При разработке приложений на языке Python вы можете использовать пакет yandex_tracker_client — клиент, который облегчает работу с API Трекера.
Чтобы начать пользоваться клиентом:
-
Скачайте и установите на свой компьютер актуальную версию Python с сайта https://www.python.org/downloads/.
-
В командной строке вашей ОС выполните команду:
pip install yandex_tracker_client
-
Получите OAuth-токен или IAM-токен для авторизации.
-
Узнайте идентификатор вашей организации.
Чтобы узнать идентификатор организации, перейдите на страницу Администрирование → Организации и скопируйте значение поля идентификатор.
-
Инициализируйте клиент в коде вашей программы:
В организации Яндекс 360 для бизнесаВ организации Yandex Cloudfrom yandex_tracker_client import TrackerClient client = TrackerClient(token='<OAuth-токен>', org_id='<идентификатор_организации>')
Здесь
<OAuth-токен>
— ваш OAuth-токен, а<идентификатор_организации>
— идентификатор организации.Для авторизации с помощью OAuth-токена:
from yandex_tracker_client import TrackerClient client = TrackerClient(token='<OAuth-токен>', cloud_org_id='<идентификатор_организации>')
Для авторизации с помощью IAM-токена:
from yandex_tracker_client import TrackerClient client = TrackerClient(iam_token='<IAM-токен>', cloud_org_id='<идентификатор_организации>')
Здесь
<OAuth-токен>
или<IAM-токен>
— ваш токен, а<идентификатор_организации>
— идентификатор организации.
В клиенте используйте такой же формат данных, как в API Яндекс Трекера.
Подробнее о работе клиента и условиях использования читайте на его странице в GitHub: https://github.com/yandex/yandex_tracker_client.