Как получить доступ к заголовку ответа в Graph v5.0 SDK?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как получить доступ к заголовку ответа в Graph v5.0 SDK?

Сообщение Anonymous »

При попытке обновления Graph SDK до версии 5.0 я столкнулся с проблемой при обновлении сброса пароля пользователя. Согласно документации, вы можете отправить определенный пользователем пароль следующим образом:

Код: Выделить всё

POST https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0/authentication/passwordMethods/28c10230-6103-485e-b985-444c60001490/resetPassword
Content-type: application/json

{
"newPassword": "Cuyo5459"
}
К сожалению, этот вызов в настоящее время не поддерживается в SDK, и нам приходится вручную формировать запрос и отправлять его:

Код: Выделить всё

var requestInfo = serviceClient.Users[userId].Authentication.PasswordMethods[passwordMethod.Id].ToGetRequestInformation();
requestInfo.HttpMethod = Microsoft.Kiota.Abstractions.Method.POST;
requestInfo.URI = new Uri(requestInfo.URI, "/resetPassword");
requestInfo.Content = new MemoryStream(Encoding.UTF8.GetBytes($"{{\"newPassword\":\"{password}\"}}"));
Проблема возникает, когда дело доходит до чтения ответа. Согласно документации вы получите пустое тело, а заголовок будет содержать URL-адрес местоположения:

Код: Выделить всё

HTTP/1.1 202 Accepted
Content-type: application/json
Location: https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0/authentication/operations/88e7560c-9ebf-435c-8089-c3998ac1ec51?aadgdc=DUB02P&aadgsu=ssprprod-a

{}
Но если мы отправим запрос самостоятельно через адаптер запроса клиента службы графов, мы не сможем получить доступ к заголовку ответа:

Код: Выделить всё

var passwordResult = await serviceClient.RequestAdapter.SendAsync(requestInfo, PasswordResetResponse.CreateFromDiscriminatorValue);
Согласно документации Kiota должна быть возможность зарегистрировать IResponseHandler, и это, вероятно, могло бы получить доступ к этой информации, но я не могу найти ничего о том, как зарегистрировать такой обработчик для одного конкретного запроса в клиенте службы графов. Также в документации вы можете указать через параметр errorMapping специальные сериализаторы в зависимости от кода состояния ответа, но даже это будет просто ParsableFactory, который может обращаться только к телу, а не к заголовку ответ (если я правильно понял).
Итак, какой подход можно использовать с помощью v5 Graph SDK для доступа к заголовку ответа?

Подробнее здесь: https://stackoverflow.com/questions/756 ... h-v5-0-sdk
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»