Microsoft Graph API - получение сообщения из общего почтового ящика - запрещенная ошибка

У меня есть служба демона, которая получает access_token, используя имя пользователя / пароль пользователя (user1@domain.com) [Используя Microsoft.Identity.Client.PublicClientApplication и затем используя AcquireTokenByUsernamePasswordAsync для получения токена доступа).

Приложение Azure имеет область действия "Mail.Read", и делегированное разрешение предоставлено (для этого не требуется согласия администратора).

Я могу успешно получить подписку на почтовый ящик user1@domain.com, таким образом получая уведомления для писем.

Я использую Graph-клиент для подписки.

var subscription = new Subscription
 {
   Resource = "users/user1@domain/mailFolders('Inbox')/messages",
   ChangeType = "created",
   NotificationUrl = "NotificationUrl",
   ClientState = Guid.NewGuid().ToString(),
   ExpirationDateTime = DateTime.UtcNow + new TimeSpan(0, 0, 15, 0) 
  };

user2@domain.com поделился своим почтовым ящиком с user1@domain.com. В приложении Azure я добавил область "Mail.Read.Shared", а также удостоверился, что нажал "Предоставить разрешение" (опять же, не требуется согласие администратора).

Однако даже после этого я получаю уведомления только для user1@domain.com, а не для user2@domain.com

Затем я наткнулся на https://github.com/microsoftgraph/microsoft-graph-docs/blob/master/concepts/outlook-share-messages-folders.md

Однако даже если я пытаюсь получить подписку, изменив свойство ресурса в вышеупомянутой подписке на "users/user2@domain/mailFolders('Inbox')/messages" - я получаю следующую ошибку

Код: ExtensionError Сообщение: Операция: Создать; Исключение: [Код статуса: запрещено; Причина: запрещено]

Интересно, что если я использую access_token, полученный указанным выше способом, чтобы инициировать запрос на получение адреса ниже, для Почтальона, я могу читать почту общего почтового ящика! ( https://graph.microsoft.com/v1.0/users/user2@domain.com/mailFolders ("Входящие")/messages)

Также, когда я попробовал то же самое в графическом обозревателе после изменения разрешений и предоставления согласия для Mail.Read.Shared, я могу читать письма.

Однако я получаю то же сообщение об ошибке, когда пытаюсь получить подписку с помощью Почтальона.

Нужна помощь по следующим вопросам:

  1. Какие изменения необходимы для получения подписки на user2?
  2. Правильно ли предположить, что я могу получить access_token для user1, а затем мне нужно настроить разные подписки для user1 и user2, чтобы получать уведомления, используя общий access_token?

0 ответов

Другие вопросы по тегам