[英]Flagged messages via Office 365 REST API?
我正在尋找一種方法來使用Office 365 REST Message API檢測和設置電子郵件的“已標記”狀態。 我沒有看到'Flag'被列為REST消息的屬性,但我確實看到它列在Exchange Web服務下 。
我試圖做一個REST調用,將Flag添加到過濾的屬性,以及SingleValueExtendedProperties和MultiValueExtendedProperties,如:
/folders/inbox/messages?$top=50&$select=Subject,...,Flag
/folders/inbox/messages?$top=50&$select=Subject,...,SingleValueExtendedProperties
/folders/inbox/messages?$top=50&$select=Subject,...,MultiValueExtendedProperties
所有這些都以某種形式回歸:
{"error":{"code":"RequestBroker-ParseUri","message":"Could not find a property named \\\'Flag\\\' on type \\\'Microsoft.OutlookServices.Message\\\'."}}
有關如何通過REST API訪問Outlook“Flag”屬性的任何建議?
更新: /beta
端點上的Message
上現在有一個Flag
屬性。 這是推薦的方法。 我會將其他信息留在那里用於歷史目的,並幫助那些嘗試設置其他擴展屬性的人。
現在,您可以更輕松地獲取/設置標志狀態。 Message
實體現在具有FollowupFlag
類型的Flag
屬性。 (如果您沒有在該鏈接上看到它,請確保在頁面頂部選擇了beta
版)。
您可以通過發送具有以下有效內容的PATCH
將消息標記為已標記:
{
"Flag": {
"FlagStatus": "Flagged"
}
}
舊方法(使用擴展屬性)
注意:我們最近進行了更改以簡化擴展屬性格式。 此更改現在正在向服務器推出,因此我已將新格式添加到此答案中。 我已經離開舊格式,以防有人訪問尚未應用更新的郵箱。 如果使用舊格式,則會出現錯誤:
"Could not find a property named 'PropertyRef' on type 'Microsoft.OutlookServices.SingleValueLegacyExtendedProperty'."
您需要轉到新格式。
您需要做的是包含一個$expand
查詢參數來展開SingleValueExtendedProperties
集合,並使用$filter
子參數來指示您要包含的屬性。 在這種情況下,您需要PidTagFlagStatus 。 嘗試這樣的查詢:
新格式:
api/beta/me/messages?$select=Subject,SingleValueExtendedProperties&$expand=SingleValueExtendedProperties($filter=PropertyId eq 'Integer 0x1090')
舊格式:
api/beta/me/messages?$select=Subject,SingleValueExtendedProperties&$expand=SingleValueExtendedProperties($filter=(PropertyRef eq '0x1090' and Type eq Microsoft.OutlookServices.MapiPropertyType'Integer'))
根本沒有標記的消息將不會返回該屬性。 這些消息看起來像這樣:
新格式:
{
"@odata.id": "https://outlook.office365.com/api/beta/Users('JasonJ@jasonjohdemo.onmicrosoft.com')/Messages('AAMkAGQ4Yzc2NDkwLTYxYmItNDZmYS1iZjI1LTYyNmY4NTZkMjI1NgBGAAAAAADwPSus7EwaR6q1wNtgoqEMBwDpfBfj8UPUTqu4bEwGpnFMAAAAAAEgAADpfBfj8UPUTqu4bEwGpnFMAAAjCUJGAAA=')",
"@odata.etag": "W/\"CQAAABYAAADpfBfj8UPUTqu4bEwGpnFMAAAjCzND\"",
"Id": "AAMkAGQ4Yzc2NDkwLTYxYmItNDZmYS1iZjI1LTYyNmY4NTZkMjI1NgBGAAAAAADwPSus7EwaR6q1wNtgoqEMBwDpfBfj8UPUTqu4bEwGpnFMAAAAAAEgAADpfBfj8UPUTqu4bEwGpnFMAAAjCUJGAAA=",
"Subject": "Test Flag",
"SingleValueExtendedProperties@odata.context": "https://outlook.office365.com/api/beta/$metadata#Me/Messages('AAMkAGQ4Yzc2NDkwLTYxYmItNDZmYS1iZjI1LTYyNmY4NTZkMjI1NgBGAAAAAADwPSus7EwaR6q1wNtgoqEMBwDpfBfj8UPUTqu4bEwGpnFMAAAAAAEgAADpfBfj8UPUTqu4bEwGpnFMAAAjCUJGAAA%3D')/SingleValueExtendedProperties",
"SingleValueExtendedProperties": [
{
"PropertyId": "Integer 0x1090",
"Value": "2"
}
]
}
舊格式:
{
"@odata.id": "https://outlook.office365.com/api/beta/Users('JasonJ@jasonjohdemo.onmicrosoft.com')/Messages('AAMkAGQ4Yzc2NDkwLTYxYmItNDZmYS1iZjI1LTYyNmY4NTZkMjI1NgBGAAAAAADwPSus7EwaR6q1wNtgoqEMBwDpfBfj8UPUTqu4bEwGpnFMAAAAAAEgAADpfBfj8UPUTqu4bEwGpnFMAAAjCUJGAAA=')",
"@odata.etag": "W/\"CQAAABYAAADpfBfj8UPUTqu4bEwGpnFMAAAjCzND\"",
"Id": "AAMkAGQ4Yzc2NDkwLTYxYmItNDZmYS1iZjI1LTYyNmY4NTZkMjI1NgBGAAAAAADwPSus7EwaR6q1wNtgoqEMBwDpfBfj8UPUTqu4bEwGpnFMAAAAAAEgAADpfBfj8UPUTqu4bEwGpnFMAAAjCUJGAAA=",
"Subject": "Test Flag",
"SingleValueExtendedProperties@odata.context": "https://outlook.office365.com/api/beta/$metadata#Me/Messages('AAMkAGQ4Yzc2NDkwLTYxYmItNDZmYS1iZjI1LTYyNmY4NTZkMjI1NgBGAAAAAADwPSus7EwaR6q1wNtgoqEMBwDpfBfj8UPUTqu4bEwGpnFMAAAAAAEgAADpfBfj8UPUTqu4bEwGpnFMAAAjCUJGAAA%3D')/SingleValueExtendedProperties",
"SingleValueExtendedProperties": [
{
"PropertyRef": "0x1090",
"Type": "Integer",
"Value": "2"
}
]
}
設置標志就像將PATCH發送到SingleValueExtendedProperties
集合中具有該屬性的消息一樣簡單:
新格式:
PATCH https://outlook.office365.com/api/beta/me/messages/{id}
{
"SingleValueExtendedProperties": [
{
"PropertyId": "Integer 0x1090",
"Value": "2"
}
]
}
舊格式:
PATCH https://outlook.office365.com/api/beta/me/messages/{id}
{
"SingleValueExtendedProperties": [
{
"PropertyRef": "0x1090",
"Type": "Integer",
"Value": "2"
}
]
}
最后,根據MS-OXOFLAG ,值2表示標記為后續,1表示標志已完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.