API

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Использование/API

Аутентификация

Все API-методы поддерживают как аутентификацию с помощью cookie + session, как для веб-браузера, так и аутентификацию с помощью API ключа.

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

Создание привилегированного ключа API

Для создания ключа в интерфейсе администратора выберите пункт меню View / API Keys. Затем можно уточнить параметры создаваемого ключа в разделе "Create new API key".

  • "Duration" позволяет задать срок действия ключа. По-умолчанию он неограничен.
  • "Contest ID" позволяет указать номер турнира, для которого действует ключ. Если не указать номер турнира, ключ действует для всех турниров.
  • "Priv Level" позволяет задать уровень привилегий: "User" — обычный участнк турнира, "Observer" — наблюдатель, "Judge" — судья, "Admin" — администратор турнира.

Затем при нажатии на "Submit" будет создана новый ключ API.

В браузере отобразятся данные созданного ключа. Из них в текущей версии требуется только "API key token" (это первая строка таблицы). Например, пусть API key token равен qUcNocRPJnK7iXE8Wm1ty6XfB5vUVVJIjSrYEmoha-c. Чтобы использовать токен для аутентификации в запросах, в http заголовок нужно добавить строку:

Authorization: Bearer AQAA<TOKEN>

То есть перед значением токена приписывается AQAA.

Полная документация на API: [1].

Отдельные вызовы описаны далее.

Привилегированный API

Непривилегированный API