我们有一个系统,它会定期扫描邮箱,处理电子邮件,然后将其删除。带有已读回执的项目被删除时,它将发送一个我们要取消显示的已读回执。在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
感谢您的任何帮助
谢谢
执行此操作的一种方法是直接为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"
}
]
}