У меня есть служба демона, которая получает access_token, используя имя пользователя / пароль пользователя (user1@domain.com) [Используя Microsoft.Identity.Client.PublicClientApplication и затем используя AcquireTokenByUsernamePasswordAsync для получения токена доступа).
Приложение Azure имеет область действия «Mail.Read», и делегированное разрешение предоставлено (для этого не требуется согласия администратора).
Я могу успешно получить подписку на почтовый ящик user1@domain.com, таким образом получая уведомление дляmails.
Я использую 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
Однако даже если я попытаюсь получить подписку, изменив свойство ресурса в вышеупомянутой подписке на «пользователи /user2 @ domain / mailFolders ('Inbox') / messages "- я получаю следующую ошибку
Код: ExtensionError Сообщение: Операция: Создать;Исключение: [Код статуса: запрещено;Причина: Запрещено]
Интересно, что если я использую access_token, полученный указанным выше способом, для инициирования запроса на получение ниже URL-адреса на Почтальоне, я могу читать почту общего почтового ящика!(https://graph.microsoft.com/v1.0/users/user2@domain.com/mailFolders('Inbox')/messages)
Также, когда я пытался сделать то же самое в графическом обозревателе после изменения разрешений и предоставления согласия для Mail.Read.Shared, я могу читать письма.
Однако я получаю то же сообщение об ошибке, когдаЯ пытаюсь приобрести подписку с помощью Почтальона.
Требуется помощь по следующим вопросам:
- Какие изменения необходимы для получения подписки на user2?
- Правильно ли предположитьчто я могу получить access_token для user1, а затем мне нужно настроить разные подписки для user1 и user2, чтобы получать уведомления, используя общий access_token?