Как совершать звонки с сервера на сервер с помощью API Desire2Learn
Просматривая Valence, вы не найдете примеров того, как использовать.NET SDK в серверной среде. Нашей системе необходим доступ к API в неинтерактивной среде, но, похоже, документация указывает на необходимость взаимодействия с пользователем.
1 ответ
Разница с неинтерактивными службами заключается в том, что интерактивный этап получения ключей для конкретного пользователя выполняется во время настройки: вызывающий сервер затем кэширует эти ключи для последующего использования при вызове API (согласно документам).
В этой модели у вас должна быть общая учетная запись пользователя "служебного использования", и все вызовы API будут происходить в контексте этой учетной записи, а не в контексте каждого отдельного пользователя, как это было бы для интерактивного приложения.
Обратите внимание, что это работает, потому что ключи очень долго живут; однако администраторы сайта могут заставить ключи истечь с истечением времени ожидания, поэтому вы можете проверить значение конфигурации d2l.Security.Api.TokenTimeout, чтобы определить, каким может быть значение времени ожидания для этих ключей. Администраторы сайта также могут преднамеренно сбросить токены для общей учетной записи использования утилиты, поэтому вы все равно захотите проверить, ссылаясь на возвращенные коды состояния, что этого не произошло.