My question is just opposite to scenario asked here
我们如何获取通过图形 API 设置的 SingleValueExtendedProperties,然后希望在 Office 加载项中检索相同的属性。
设置:编写类似下面的代码
var requestBody = new HttpRequestMessage(action, requestUrl)
{
Content = new StringContent("{'SingleValueExtendedProperties': [{'PropertyId':'String {66f5a359-4659-4830-9070-00047ec6ac6e} 名称颜色','值':'绿色'}]}", Encoding.UTF8, “应用程序/json”)
};
阅读:我尝试使用所有组合来获取属性值,但得到未定义的结果
const item = Office.context.mailbox.item;
item.loadCustomPropertiesAsync((result) => {
const props = result.value;
const testProp = props.get("Color");
console.log("Color", testProp);
});
有人可以帮助我获取 Office 365 插件中的属性(property)值(value)吗?
最佳答案
您将无法按照您尝试的方式读取属性,因为您创建的属性与 Mail App 格式不兼容,例如,这记录在 https://msdn.microsoft.com/en-us/library/hh968549(v=exchg.80).aspx 中。 (基本上,属性本身包含它们所属应用程序的 ClientId,因此当您调用 loadCustomPropertiesAsync 时,它知道要获取哪些属性)。您在 Graph API 中使用的方法刚刚创建了一个普通的命名属性 https://msdn.microsoft.com/en-us/library/office/ff960427.aspx 。您可以在邮件应用程序中获取此属性,但只能使用 EWS(例如,您的应用程序需要 ReadItem 权限)并使用 makeEwsRequestAsync 发出 GetItem 请求。或者,您应该能够使 Graph API 以 MailApp 在 loadCustomPropertiesAsync 中读取的格式写入属性(如果您遵循文档,则需要写入多个属性)。
附加
如果您想使用 Graph API 在消息上设置属性,而没有其他邮件应用程序已设置您可以使用的属性
"SingleValueExtendedProperties": [
{
"PropertyId":"String 00020329-0000-0000-C000-000000000046 Name cecp-propertyNames",
"Value":"cecp-51248e59-f341-4b4a-a81a-a418f8d3b179;"
}
,{
"PropertyId":"String 00020329-0000-0000-C000-000000000046 Name cecp-51248e59-f341-4b4a-a81a-a418f8d3b179",
"Value":"{\"mail_note\":\"Whats the point\"}"
}
]
}
此示例中的 Guid 51248e59-f341-4b4a-a81a-a418f8d3b179 应与 MailApps list 文件中的 UUID 匹配,例如
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="MailApp">
<!-- Id is a unique UUID for the mail app -->
<Id>51248e59-f341-4b4a-a81a-a418f8d3b179</Id>
如果其他邮件应用程序已在消息上设置属性,则您需要修改第一个属性以将您的 MailApp UUID 附加到该属性值中。例如,如果您的邮件应用程序 UUID 为 81a51297-e77e-4fae-a07f-af546013aeac 并且消息已具有上述值,您将修改该属性,例如
“cecp-51248e59-f341-4b4a-a81a-a418f8d3b179;cecp-81a51297-e77e-4fae-a07f-af546013aeac;”
关于javascript - 获取通过 Office/Graph API 设置的 Outlook 加载项 (js) 中的 SingleValueExtendedProperties?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44135900/