首页 > 解决方案 > MS Graph API - 从 Outlook 帐户读取带有标题信息的电子邮件的端点

问题描述

我正在使用以下端点从给定的邮件文件夹中读取邮件消息,但我看到该消息不包含标题信息。终点 - https://graph.microsoft.com/v1.0/me/mailFolders/{folderid}messages/?$orderby=sentDateTime

响应看起来像 -

{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('55f7b855-44a8-46c2-908a-00ff4d54c46e')/mailFolders('AQMkAGYyOTI1Yzc5LTFlZjctNDlhYy1hMWQzLTA1MjY0ZmRkADBkZTAALgAAA--el_XftXZKt0YdPN_913sBAFL-3e9Uo9BKmUKAmISlmIAAAAIBCQAAAA%3D%3D')/messages",
"value": [
    {
        "@odata.etag": "W/\"CQAAABYAAABS/93vVKPQSplCgJiEpZiAAAAMRZRE\"",
        "id": "AAMkAGYyOTI1Yzc5LTFlZjctNDlhYy1hMWQzLTA1MjY0ZmRkMGRlMABGAAAAAAD-3pfl37V2SrdGHTzfvdd7BwBS-93vVKPQSplCgJiEpZiAAAAAAAEJAABS-93vVKPQSplCgJiEpZiAAAAMTZWmAAA=",
        "createdDateTime": "2021-08-02T12:47:39Z",
        "lastModifiedDateTime": "2021-08-02T12:47:42Z",
        "changeKey": "CQAAABYAAABS/93vVKPQSplCgJiEpZiAAAAMRZRE",
        "categories": [],
        "receivedDateTime": "2021-08-02T12:47:40Z",
        "sentDateTime": "2021-08-02T12:47:39Z",
        "hasAttachments": false,
        "internetMessageId": "<MAZPR01MB5442E2218F9D377BD1D514E4E9EF9@MAZPR01MB5442.INDPRD01.PROD.OUTLOOK.COM>",
        "subject": "rr",
        "bodyPreview": "rr",
        "importance": "normal",
        "parentFolderId": "AQMkAGYyOTI1Yzc5LTFlZjctNDlhYy1hMWQzLTA1MjY0ZmRkADBkZTAALgAAA--el_XftXZKt0YdPN_913sBAFL-3e9Uo9BKmUKAmISlmIAAAAIBCQAAAA==",
        "conversationId": "AAQkAGYyOTI1Yzc5LTFlZjctNDlhYy1hMWQzLTA1MjY0ZmRkMGRlMAAQAKmsc6svyzlHuJr_l4TQwX4=",
        "conversationIndex": "AQHXh5yTqaxzqy/LOUe4mv6XhNDBfg==",
        "isDeliveryReceiptRequested": false,
        "isReadReceiptRequested": false,
        "isRead": true,
        "isDraft": false,
        "webLink": "https://outlook.office365.com/owa/?ItemID=AAMkAGYyOTI1Yzc5LTFlZjctNDlhYy1hMWQzLTA1MjY0ZmRkMGRlMABGAAAAAAD%2F3pfl37V2SrdGHTzfvdd7BwBS%2F93vVKPQSplCgJiEpZiAAAAAAAEJAABS%2F93vVKPQSplCgJiEpZiAAAAMTZWmAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
        "inferenceClassification": "focused",
        "body": {
            "contentType": "html",
            "content": "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><meta content=\"text/html; charset=iso-8859-1\"><style type=\"text/css\" style=\"display:none\"><!--p{margin-top:0;margin-bottom:0}--></style></head><body dir=\"ltr\"><div style=\"font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)\">rr<br></div></body></html>"
        },
        "sender": {
            "emailAddress": {
                "name": "some name",
                "address": "some address"
            }
        },
        "from": {
            "emailAddress": {
                "name": "some name",
                "address": "some address"
            }
        },
        "toRecipients": [
            {
                "emailAddress": {
                    "name": "some name",
                    "address": "some address"
                }
            }
        ],
        "ccRecipients": [],
        "bccRecipients": [],
        "replyTo": [],
        "flag": {
            "flagStatus": "notFlagged"
        }
    }
]

}

早些时候我们使用 java.mail API 来做同样的事情,并习惯于得到它

javax.mail.Message 消息= ;

枚举标头 = message.getAllHeaders();

有没有办法使用 MS 图形 API 来实现这一点?

标签: emailoutlookmicrosoft-graph-api

解决方案


如果您想要 Internet 消息标头,则需要将其包含在 Select Parameter 中,因为 Graph 不会将其作为默认属性返回,例如

https://graph.microsoft.com/v1.0/me/messages/?$select=internetMessageHeaders

推荐阅读