Цель: Я бы хотел иметь возможность фильтровать API " List Messages ", чтобы он возвращал только электронные письма, отправленные пользователю, а не сообщения, которые существуют где-либо ( например, отправленные пользователем).
Прямо сейчас, если вы запросите этот конкретный API, вы получите список всех сообщений во всех папках (включая папки «Удаленные» и «Беспорядок»).
Я знаю, что могу фильтровать по isDraft eq false
, чтобы удалить черновики, но я не знаю, есть ли какой-нибудь фильтр, который не включает сообщения, отправленные пользователем.
То, что я пробовал: Я просмотрел примеров и ничего не видел в такой фильтрации. Я также взглянул на Параметры запроса OData и копался в параметре filter . Проблема в том, что я не совсем уверен, что я мог бы даже фильтровать. Я вижу, что есть параметр sender - но, учитывая, что я подключился через OAuth и не просил пользователей предоставить свой адрес электронной почты, я не уверен, что у меня есть простой способ отфильтровать это.
Теоретически, я мог бы сначала сделать запрос к конечной точке https://graph.microsoft.com/beta/me/, чтобы получить userPrincipalName, а затем добавить фильтр на from/emailAddress/address ne '<userPrincipalName>'
, когда я вызываю конечную точку /me/messages
- но это удвоит число API-вызовы, которые мне нужно сделать. Это единственный вариант, который у меня есть, или есть лучший способ сделать это?
Спасибо за ваше время :)