outlook - 从 REST 访问已回复/转发/等状态
问题描述
我正在尝试在 Graph API 中获取和设置电子邮件的转发/回复状态。这在 OWA 中由右栏中的小图标表示。
似乎没有一流的方式来访问这些信息,至少它不会出现在未过滤的 JSON 转储中。
Google 建议将其存储在 PidTagLastVerbExecuted 或 PidTagIconIndex 的扩展属性中,但尝试访问这些只会返回 404:
https://graph.microsoft.com/beta/me/mailFolders/{id}/messages?$select=SingleValueExtendedProperties&$expand=SingleValueExtendedProperties($filter%3Did+eq+'String+0x1081')
0x0070 等其他扩展属性确实有效,因此语法似乎是正确的,并且 0x1081 来自这里https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/pidtaglastverbexecuted-canonical-property
此信息已存储,您可以在 OWA、Outlook 应用程序中看到它,并且您可以在 IMAP 中看到它。
有没有办法做到这一点?似乎奇怪的是,没有提供有关电子邮件状态的基本信息。
解决方案
您指定了错误的数据类型,该属性在文档中定义为 Long(但 doco 用于 MAPI),因此它实际上是 EWS 和 Graph 中的整数,例如这是我用来返回 PidTagLastVerbExecuted 和 PidTagLastVerbExecutedTime 的东西(它给了你时间最后一个动作的)对于特定的消息
/v1.0/users('user@domaincom')/MailFolders/AllItems/messages/?$select=ReceivedDateTime,Sender,Subject,IsRead,inferenceClassification,InternetMessageId,parentFolderId,hasAttachments,webLink,InternetMessageHeaders&$Top=1000&$filter=internetMessageId+eq+%27%3cSG2PR04MB3223962312D5B46D0C9CA1B5C89C0%40SG2PR04MB3223.apcprd04.prod.outlook.com%3e%27&$expand=SingleValueExtendedProperties($filter=(Id%20eq%20'Integer%200x1081')%20or%20(Id%20eq%20'SystemTime%200x1082'))
推荐阅读
- docker - Docker 通用配置
- android - 如何在 Android 8.0(API 级别 26+)上正确更新小部件 UI 中的集合?
- c# - 强制 HttpWebRequest 和 ClientWebSocket 使用 TLS 1.2
- javascript - 如何访问自定义工具栏中的数据以进行 admin-on-rest?
- unix - 在双叉中,为什么孙子退出之前不能退出?
- primefaces - 在 ajax 事件期间禁用 p:selectOneMenu 的问题
- c# - 如何通过 C# 中的 Slack-App 在 Slack 上上传任何文件
- matplotlib - 如何将 Slider 的更新值始终设置在中心?
- akka - 用于 http 请求 Java 的 Akka 演员
- powershell - 从 Powershell 中的 write-host 输出中删除某些字符(Get-ADuser)