簡體   English   中英

使用來自EWS或REST API的office365 JS API訪問CustomProperties

[英]Access CustomProperties set using office365 JS APIs from EWS or REST API

我有一個Office 365郵件應用程序,它在保存項目之前將值存儲在自定義屬性中。 保存項目時,我想使用服務器端應用程序訪問此屬性。 閱讀自定義屬性文檔告訴我,我無法使用任何其他服務(如EWS)訪問使用JS API創建的自定義屬性,因為這些不是MAPI屬性。 有沒有解決方法? 是否可以使用REST API訪問這些?

實際上,它記錄了它們存儲的位置和格式。 [MS-OXCEXT]規范提供了具體細節。 基本上,這些值作為JSON字典存儲在項目的自定義屬性中。 您應該能夠使用EWS將該自定義屬性讀取為ExtendedProperty

更新:在與內部人士討論后,我應該否認這不是像MrPiao所說的那樣支持的方法。 如上所述,存儲設計可能會發生變化,如果您依賴於當前的設計,這會破壞您的應用。 關注的是,我不想引導你走上最終變得不可行的道路:)。 如果您可以描述您的最終目標,也許我們可以建議更持久的解決方案。

自定義屬性絕對只能由Apps for Outlook API創建和訪問。 但是 ,這個屬性必須存儲在某個地方 - 這就是項目。 我相當肯定,如果你進行了一個GetItem調用並枚舉了該項目的每個屬性,你將能夠訪問自定義道具。

需要注意的是,這絕對是一個不受支持的場景 設計可能在未來發生變化,這種情況可能會中斷。 我絕對不會在生產環境中訪問Mail App外的自定義屬性。

Guid PS_PUBLIC_STRINGS = new Guid("00020329-0000-0000-C000-000000000046"); ////PS_PUBLIC_STRINGS' GUID
ExtendedPropertyDefinition extendedPropertyDefinition = new ExtendedPropertyDefinition(PS_PUBLIC_STRINGS, "cecp-{your add-in manifest id}", MapiPropertyType.String);
PropertySet psPropSet = new PropertySet() { extendedPropertyDefinition };

message.Load(psPropSet);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM