Доступ к API
Для доступа приложений к Yandex Tracker API используется авторизация по протоколу OAuth 2.0.
Если ваше приложение написано на языке Python, для вызова API вы можете использовать Python-клиент.
В запросах к Tracker API указывайте заголовки:
-
Host: api.tracker.yandex.net
-
Authorization: OAuth <OAuth-токен>
— при доступе по протоколу OAuth 2.0.Authorization: Bearer <IAM-токен>
— при доступе при помощи IAM-токена. -
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>
Если у вас только организация Yandex Cloud Organization, используйте заголовок
X-Cloud-Org-ID
, если только Яндекс 360 для бизнеса или оба типа организаций —X-Org-ID
.Скопировать идентификатор организации можно на странице организаций Tracker
.
Получить доступ к API по протоколу OAuth 2.0
Протокол OAuth 2.0 позволяет приложениям работать с сервисами Яндекса от имени пользователя. С базовыми принципами OAuth, а также с особенностями реализации протокола в Яндексе вы можете ознакомиться в документации сервиса OAuth для Яндекс ID
Чтобы получить доступ к Yandex Tracker API:
-
Зарегистрируйте
приложение в сервисе Яндекс OAuth :-
Перейдите по прямой ссылке https://oauth.yandex.ru/client/new/
. -
В разделе Платформы приложения выберите платформу и укажите ее параметры.
Если вы разрабатываете или тестируете приложение, используйте отладочный токен
. Для получения такого токена выберите Веб-сервисы и в поле Redirect URI подставьте значение по умолчанию, которое появится в подсказке Подставить URL для отладки:https://oauth.yandex.ru/verification_code
. -
В разделе Доступ к данным выберите доступы к Tracker, которые необходимы приложению:
-
Запись в трекер (tracker:write) — все операции с данными: создание, удаление, редактирование.
-
Чтение из трекера (tracker:read) — только чтение данных.
-
-
-
Получите 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-токену
IAM-токен — уникальная последовательность символов, которая выдается пользователю после прохождения аутентификации. С помощью этого токена пользователь авторизуется в Yandex Tracker API и выполняет операции с ресурсами. Подробнее об этом способе аутентификации читайте в документации сервиса идентификации и контроля доступа.
Примечание
IAM-токен действует не больше 12 часов и ограничен временем жизни cookie у федерации. После истечения срока жизни вернется ошибка с кодом 401 Unauthorized
.
Python-клиент
При разработке приложений на языке Python вы можете использовать пакет yandex_tracker_client
Чтобы начать пользоваться клиентом:
-
Скачайте и установите на свой компьютер актуальную версию Python с сайта https://www.python.org/downloads/
. -
В командной строке вашей ОС выполните команду:
pip install yandex_tracker_client
-
Получите OAuth-токен и идентификатор организации для доступа к API.
Чтобы узнать идентификатор организации, перейдите на страницу настроек Tracker
. Идентификатор указан в поле ID организации для API. -
Инициализируйте клиент в коде вашей программы:
from yandex_tracker_client import TrackerClient client = TrackerClient(token=<OAuth-токен>, org_id=<идентификатор_организации>)
Здесь
<OAuth-токен>
— ваш OAuth-токен, а<идентификатор_организации>
— идентификатор организации.
В клиенте используйте такой же формат данных, как в API Tracker.
Подробнее о работе клиента и условиях использования читайте на его странице в GitHub: https://github.com/yandex/yandex_tracker_client