【问题标题】:Access the replied/forwarded/etc state from REST从 REST 访问已回复/转发/等状态
【发布时间】:2019-10-02 16:20:21
【问题描述】:

我正在尝试在 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 中看到它。

有没有办法做到这一点?没有提供有关电子邮件状态的基本信息似乎很奇怪。

【问题讨论】:

    标签: outlook microsoft-graph-api


    【解决方案1】:

    您指定了错误的数据类型,该属性在文档中定义为 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')) 
    

    【讨论】:

    • 是的,简单的修复,现在可以了。这方面的文档真的太短了,他们说过滤器只有三个有效的 ID 表格(两个带有 GUID),Integer 和 SystemTime 没有列出选项。这现在工作得很好,但我还想设置 PidTagMessageStatus MSGSTATUS_ANSWERED 位以实现 IMAP 兼容性 - 在这方面有任何希望吗?谢谢
    猜你喜欢
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 2021-12-15
    • 2020-01-10
    • 2019-09-15
    • 2020-12-19
    • 2020-07-28
    • 1970-01-01
    相关资源
    最近更新 更多