Сообщение = код: ErrorInvalidUser Сообщение: запрошенный пользователь '5f1fb9dd-2fc2-4f4d-8fa4-ebd144432b9e@eb0eeae1-e81a-4a23-a4e4-ca8688e0a18a' недействителен - PullRequest
0 голосов
/ 05 апреля 2020

Отправка почты с использованием API графа из функции Azure, как показано ниже

await graphClient.Me.SendMail (message, true) .Request (). PostAsyn c (). ConfigureAwait (false);

Ошибка при получении: Сообщение = Код: ErrorInvalidUser Сообщение: Запрошенный пользователь '5f1fb9dd-2fc2-4f4d-8fa4-ebd144432b9e@eb0eeae1-e81a-4a23-a4e4-ca8688e0a18a' недействителен.

Это ( eb0eeae1-e81a-4a23-a4e4-ca8688e0a18a ) мой идентификатор арендатора, но что это такое ( 5f1fb9dd-2fc2-4f4d-8fa4-ebd144432b9e ).

Я отправляю пользователю по умолчанию (AlexW@M365x270547.OnMicrosoft.com), который уже есть в моем арендатор.

Пожалуйста, помогите, я что-то упустил?

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

Если вы хотите использовать graphClient.Me, вам нужно пройти аутентификацию как пользователь. Вы можете использовать Имя пользователя / пароль провайдера . Таким образом, вы можете вызвать конечную точку Me.

Или вы можете использовать Поставщик учетных данных клиента для аутентификации в качестве приложения. И таким образом, вам нужно использовать отправить по электронной почте, как показано ниже:

IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
                                                                    .Create(clientId)
                                                                    .WithTenantId(tenantID)
                                                                    .WithClientSecret(clientSecret)
                                                                    .Build();

ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
graphClient.Users["user_id_here, i.e. ab6d4cd6-fc2d-40c7-a676-f8773aebfb5f"].SendMail(message, true).Request().PostAsync().ConfigureAwait(false).GetAwaiter().GetResult();
0 голосов
/ 07 апреля 2020

IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder .Create (ClientID) .WithTenantId (tenantID) .WithClientSecret (clientSecret) Строить ();

* * 1002 ClientCredentialProvider authProvider = новый ClientCredentialProvider (confidentialClientApplication); * +1003 * * * 1004 GraphServiceClient graphClient = новый GraphServiceClient (authProvider);

строка fromUserEmail =Xyz@M344x276547.OnMicrosoft.com

graphClient.Users [fromUserEmail] .SendMail (message, true) .Request (). PostAsyn c (). ConfigureAwait (ложь) .GetAwaiter () GetResult ();.

...