Один пользователь может загружать отправленные электронные письма с помощью Microsoft Graph API, но другой пользователь не может? - PullRequest
0 голосов
/ 17 апреля 2020

Я разрабатывал функцию для приложения Laravel, которое я унаследовал, который будет загружать как входящие, так и исходящие электронные письма, отправленные пользователями компании через приложение Outlook. Идея заключается в том, что пользователь подписывается на уведомления pu sh от Microsoft, которые затем сохраняются в таблице базы данных. Cronjob запускается каждую минуту, чтобы затем загрузить электронное письмо, о котором мы получили уведомление. Уведомления уведомляют нас об изменениях в почтовом ящике пользователя. Поэтому, когда электронное письмо получено или отправлено, уведомление составляет

. На протяжении всей разработки я использовал свою учетную запись Office 365 для этой компании, и на данный момент моя учетная запись подписана на уведомления pu sh. Он может загружать электронные письма, о которых мы получили уведомление, как электронные письма на мой почтовый ящик, так и электронные письма, отправленные с моего аккаунта.

Однако я добавил второй аккаунт для получения уведомлений pu sh, используя тот же метод, что и мой собственный аккаунт. Проблема заключается в том, что, хотя эта учетная запись может загружать входящие электронные письма, каждый раз, когда она пытается загрузить отправленное электронное письмо, Microsoft Graph API возвращает 404. В ходе некоторого тестирования мы определили, что эти 404 мы получаем из электронных писем, которые Пользователь отправил Мы проверили мою собственную учетную запись, и хотя этот пользователь получает 404 за отправленные электронные письма, моя учетная запись - нет.

С точки зрения разрешений, которые я установил для учетной записи, я дал разрешения для Mail.Read части Microsoft Graph, а также от Mail.Read до Exchange. Типы разрешений установлены на Application.

Из того, что я прочитал, 404 может быть возвращено в случае, если электронная почта больше не существует на сервере или проблема с разрешениями. Я использовал delta API для учетной записи этого пользователя, и я могу видеть отправленные им элементы с помощью этого API.

...