2016-06-29 47 views

回答

6

更新:InternetMessageHeaders屬性已添加到Outlook API的Beta端點,因此您可以在不使用擴展屬性的情況下獲取該屬性。但您必須通過$select明確要求該物業。喜歡的東西:

GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messages? 
$select=Subject,InternetMessageHeaders 

對於圖表:屬性上也存在於測試端點圖的消息,所以你可以做:

GET https://graph.microsoft.com/beta/me/mailfolders/inbox/messages? 
    $select=subject,internetMessageHeaders 

對於非測試終點:該API沒有按」 t直接提供訪問權限。但是,您可以使用Extended Property API訪問PidTagTransportMessageHeaders MAPI屬性。

從第一個鏈接,我們看到PidTagTransportMessageHeaders的屬性ID是0x7D,類型是String。所以,你的GET的$expand參數會是什麼樣子:

$expand=SingleValueExtendedProperties($filter=PropertyId eq 'String 0x7D') 

注:這是隻適用於Outlook中的端點(https://outlook.office.com)。對於圖表,請參閱從madsheep

GET把一起爲特定郵件的答案,你的要求可能是這樣的:

GET https://outlook.office.com/api/v2.0/me/messages/{message-id}? 
$select=Subject,SingleValueExtendedProperties 
&$expand=SingleValueExtendedProperties($filter=PropertyId eq 'String 0x7D') 
+0

你能夠做到這一點與多個屬性?那看起來怎麼樣?假設我想PidTagTransportMessageHeaders和PidTagAutoForwarded標頭 – Justin

+1

是的,你可以。您可以將'$ filter'中的屬性測試與'or'子句結合使用:'$ filter = PropertyId eq'String 0x7D'或PropertyId eq'Boolean 0x5''。 –

2

要在MS圖形的insanties失去了所有的可憐的靈魂API - 答案上面似乎並不正確了,因爲它會返回錯誤「屬性ID不是屬性名稱」 - 它似乎正確的答案是現在:

GET https://graph.microsoft.com/beta/me/messages/{message-id}? 
$select=Subject,SingleValueExtendedProperties& 
$expand=SingleValueExtendedProperties($filter=id eq 'String 0x7D') 

這是你如何讓messag來自Outlook/Office 365 REST圖形API的頭文件。

+0

看起來你正在使用beta API? v2.0 API也是如此嗎? –

+1

只是爲了澄清:對於Outlook端點,答案仍然正確。 Graph在SingleValueExtendedProperty類型內將名稱從「PropertyId」更改爲「id」,這就是您必須在兩個API端點之間進行調整的原因。 –

相關問題