Доступ к API

Для доступа к API Яндекс Вики можно использовать один из способов авторизации:

Примечание

При авторизации в API Яндекс Вики нельзя использовать сервисный аккаунт Yandex Cloud, отправляйте запросы только с аккаунта пользователя.

В запросах к API Яндекс Вики указывайте заголовки:

  • Host: api.wiki.yandex.net

  • Заголовок авторизации:

    • Authorization: OAuth <OAuth-токен> — при доступе по протоколу OAuth 2.0.

    • Authorization: Bearer <IAM-токен> — при доступе с помощью IAM-токена.

  • Идентификатор организации:

    • X-Org-Id — для организации Яндекс 360 для бизнеса.
    • X-Cloud-Org-Id — для организации Yandex Cloud Organization.

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

Пример:

Host: api.wiki.yandex.net
Authorization: Bearer t1.ab123cd45*****************
X-Org-Id: bpfv7***************

Получить доступ к API по протоколу OAuth

Для доступа к API Яндекс Вики требуется получить токен в сервисе OAuth. Полученный токен используйте в заголовке Authorization в запросах к API Яндекс Вики.

Токен предоставляет те же права, которые есть у аккаунта пользователя в Вики. Например, если у пользователя нет прав на редактирование страницы, соответствующие запросы к API будут недоступны.

Чтобы получить токен:

  1. Перейдите по ссылке https://oauth.yandex.ru/.

  2. На странице Ваши приложения нажмите  Создать.

  3. В открывшемся окне выберите вариант Для доступа к API или отладки и нажмите Перейти к созданию.

  4. Укажите название приложение и почту для связи.

  5. Добавьте разрешения для доступа к данным пользователя. Чтобы выбрать разрешение, начните вводить его название в поле Название доступа:

    • Запись в Вики (wiki:write) — все операции с данными: создание, удаление, редактирование.

    • Чтение из Вики (wiki:read) — только чтение данных.

  6. Нажмите Создать приложение.

  7. В личном кабинете Яндекс OAuth выберите созданное ранее приложение и скопируйте его идентификатор из поля ClientID.

  8. Затем сформируйте ссылку для запроса токена:

    https://oauth.yandex.ru/authorize?response_type=token&client_id=<идентификатор_приложения>
    
  9. Войдите в аккаунт, от имени которого вы будете работать с API, и перейдите по сформированной ссылке.

    На странице появится последовательность символов — это OAuth-токен. Скопируйте его и сохраните.

Инструкции по настройке приложения в Справке Яндекс ID:

Чтобы проверить наличие доступа к API, выполните какой-либо запрос. Если доступ не был получен, запрос вернет ответ с кодом 401 Unauthorized.

Например, можно выполнить запрос информации о странице mypage с помощью curl:

curl -X GET 'https://api.wiki.yandex.net/v1/pages?slug=mypage' \
     -H 'Authorization: OAuth ABC-def12GH_******' \
     -H 'X-Org-Id: bpfv7***************'
curl -X GET "https://api.wiki.yandex.net/v1/pages?slug=mypage" ^
     -H "Authorization: OAuth ABC-def12GH_******" ^
     -H "X-Org-Id: bpfv7***************"

Получить доступ к API по IAM-токену

Если вы используете Вики в составе организации Yandex Cloud, для авторизации в API можно использовать IAM-токен.

IAM-токен — уникальная последовательность символов, которая выдается пользователю после прохождения аутентификации. С помощью этого токена пользователь авторизуется в API Яндекс Вики и выполняет операции с ресурсами. Подробнее об этом способе аутентификации читайте в документации сервиса идентификации и контроля доступа.

Примечание

IAM-токен действует не больше 12 часов и ограничен временем жизни cookie у федерации. После истечения срока жизни токена вернется ошибка с кодом 401 Unauthorized.