Доступ к API
Для доступа к Yandex Tracker API можно использовать один из способов авторизации:
-
По протоколу OAuth 2.0. В этом случае в запросах к Tracker API указывайте заголовок:
Authorization: OAuth <OAuth-токен>
Подробнее в разделе Получить доступ к API по протоколу OAuth 2.0.
-
С помощью IAM-токена. В этом случае в запросах к Tracker API указывайте заголовок:
Authorization: Bearer <IAM-токен>
Подробнее в разделе Получить доступ к API по IAM-токену.
О формате заголовков читайте в разделе Заголовки.
Если вы используете для вызова API Python-клиент, укажите данные для авторизации при инициализации клиента. Подробнее читайте в разделе Python-клиент.
Получить доступ к API по протоколу OAuth 2.0
Протокол OAuth 2.0 позволяет приложениям работать с сервисами Яндекса от имени пользователя. С базовыми принципами OAuth, а также с особенностями реализации протокола в Яндексе вы можете ознакомиться в документации сервиса OAuth для Яндекс ID.
Чтобы получить доступ к Yandex Tracker API:
-
Зарегистрируйте в сервисе Яндекс OAuth приложение, к которому будет привязан токен для работы с API Tracker:
-
Перейдите по ссылке https://oauth.yandex.ru/client/new/.
-
В разделе Платформы приложения выберите платформу и укажите ее параметры.
Если вы хотите протестировать работу приложения с API или отправлять запросы к API вручную, используйте отладочный токен. Для получения такого токена выберите Веб-сервисы, установите курсор в поле Redirect URI и в подсказке нажмите Подставить URL для отладки. В поле будет подставлено значение
https://oauth.yandex.ru/verification_code
. -
В разделе Доступ к данным добавьте разрешения для работы с API Tracker. Чтобы выбрать разрешение, начните вводить его название в поле Название доступа:
-
Запись в трекер (tracker:write) — все операции с данными: создание, удаление, редактирование.
-
Чтение из трекера (tracker:read) — только чтение данных.
-
Скриншот
Подробнее о регистрации приложения читайте в Справке Яндекс ID.
-
-
Получите OAuth-токен:
-
В личном кабинете Яндекс OAuth выберите созданное ранее приложение и скопируйте его идентификатор из поля ClientID. Затем сформируйте ссылку для запроса токена:
https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор_приложения>
-
Перейдите по ссылке и скопируйте OAuth-токен.
Совет
Если для получения OAuth-токена вам требуется код подтверждения от пользователя, используйте инструкции в разделе Запрос OAuth-токена при помощи кода подтверждения.
-
-
Полученный токен используйте в заголовке
Authorization
в запросах к API Tracker. OAuth-токен предоставляет те же права, которые есть у аккаунта пользователя в Tracker. Например, если у пользователя нет прав на изменение настроек очереди, соответствующие запросы к API будут недоступны. -
Чтобы проверить наличие доступа к API, выполните запрос информации о текущем пользователе.
Если доступ не был получен, запрос вернет ответ с кодом401 Unauthorized
.
Получить доступ к API по IAM-токену
Если вы используете Tracker в составе организации Yandex Cloud, для авторизации в API можно использовать IAM-токен.
IAM-токен — уникальная последовательность символов, которая выдается пользователю после прохождения аутентификации. С помощью этого токена пользователь авторизуется в Yandex Tracker API и выполняет операции с ресурсами. Подробнее об этом способе аутентификации читайте в документации сервиса идентификации и контроля доступа.
Примечание
IAM-токен действует не больше 12 часов и ограничен временем жизни cookie у федерации. После истечения срока жизни токена вернется ошибка с кодом 401 Unauthorized
.
Python-клиент
При разработке приложений на языке Python вы можете использовать пакет yandex_tracker_client — клиент, который облегчает работу с Tracker 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 Tracker.
Подробнее о работе клиента и условиях использования читайте на его странице в GitHub: https://github.com/yandex/yandex_tracker_client.