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