Исключение Azure GraphServiceClient «Полезная нагрузка исправления дельты должна содержать @контекст : #$дельта» при обновлении пользователя

#azure #microsoft-graph-api #azure-ad-b2c #azure-ad-graph-api

Вопрос:

Согласно названию, я пытаюсь обновить пользователя Azure B2C с помощью моего API, используя Microsoft.Graph пакет NuGet. Недавно я удалил и воссоздал свою регистрацию приложения в Azure и в своей бесконечной мудрости не записал, в каких областях это было разрешено.

Пользователи получают доступ к моему API с помощью маркера доступа, выданного B2C из отдельного веб-клиента, поэтому я предполагаю, что области, необходимые для моего API, будут подпадать под разрешения приложений (без входа пользователя), а не делегированные разрешения (с пользователем, вошедшим в систему), и я думаю User.ReadWrite.All , что разрешение должно охватывать это?

Я сомневаюсь в этом, потому что запросы перестали работать, но в коде не было никаких изменений. Код приведен ниже:

 IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder  .Create(configuration[$"{Constants.AzureAdB2C}:ClientId"])  .WithTenantId(configuration[$"{Constants.AzureAdB2C}:Domain"])  .WithClientSecret(configuration[$"{Constants.AzureAdB2C}:ClientSecret"])  .Build();  IAuthenticationProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);  GraphServiceClient graphClient = new GraphServiceClient(authProvider);  User azureUser = await graphClient.Users[azureId]  .Request()  .Select(e =gt; new  {  e.OtherMails  })  .GetAsync();  azureUser.OtherMails = userEmails;  await graphClient.Users[azureId]  .Request()  .UpdateAsync(azureUser);  

Получение сведений нормально, но в последней строке для обновления пользователя я получаю исключение Delta patch payload must contain @context : #$delta . Я нигде не могу найти никаких ссылок на это и не могу найти или вспомнить, откуда я взял исходный код выше. Кто-нибудь может посоветовать, где я ошибаюсь?

Комментарии:

1. только что получил это сам. есть успехи?

2. Я такой супер нуб, но это дало мне эту ошибку, потому что мой azureId был нулевым