Microsoft Graph Mail - Подавление чеков чтения - PullRequest
0 голосов
/ 27 февраля 2020

У нас есть система, которая периодически сканирует почтовый ящик, обрабатывает электронные письма, а затем удаляет их. Когда элемент с квитанцией о прочтении удаляется, он отправляет квитанцию ​​о прочтении, которую мы хотим отменить. Это было возможно в EWS, но мы переносим наш код в Graph SDK.

Как мы это делали в EWS:

if (rawMail.IsReadReceiptRequested) rawMail.SuppressReadReceipt();
rawMail.IsRead = true; 
rawMail.Update(ConflictResolutionMode.AutoResolve);

Вот что мы попробовали:

await graphClient.Users["userid"].Messages["messageid"].Request().Select('IsReadReceiptRequested').UpdateAsync(new Microsoft.Graph.Message() { IsReadReceiptRequested = false });

Однако он возвращает эту ошибку, как если бы это был недопустимый способ обработки чеков чтения:

ErrorInvalidPropertyUpdateSentMessage 
Message: Update operation is invalid for property of a sent message

Любая помощь приветствуется

Спасибо

1 Ответ

0 голосов
/ 28 февраля 2020

Один из способов сделать это - установить расширенные свойства для PidTagReadReceiptRequested https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/pidtagreadreceiptrequested-canonical-property и PidTagNonReceiptNotificationRequested напрямую, например, такой патч в Graph Explorer работает нормально

{
  "singleValueExtendedProperties": [
     {
           "id":"Boolean 0x0C06",
           "value": "false"
     },
     {
	   "id":"Boolean 0x0029",
           "value": "false"
     }
  ]
}
...