目前在JavaScript中開發一個Office附加組件,我發現Outlook Windows富客戶端與Office365 Web門戶之間的API可用性存在一些差異。展望JavaScript api附件
我的加載項目前在「web」模式下很像魅力,但在Rich Client中並不如預期。
該加載項獲取電子郵件正文+附件並將其發送到遠程應用服務器。
Office.context.mailbox.item.body.getAsync(Office.CoercionType.Html, { asyncContext: "html" }, function callback(resHtml) {
// dealing with email in HTML format
});
對於附件,我做這樣的:
for (var i = 0; i < Office.context.mailbox.item.attachments.length; i++) {
var _att = Office.context.mailbox.item.attachments[i];
attachments.assets.push({
name: _att.name,
id: _att.id,
contentType: _att.contentType,
size: _att.size,
attachmentType: _att.attachmentType,
isInline: _att.isInline
});
}
(JS的加載只發送附件的元數據發送到遠程應用程序,遠程應用程序有連接到Exchange。 EWS實際取得與所提供的元數據附件)
問題
當有內嵌的圖像連接編輯在電子郵件,Web門戶和豐富的客戶端顯示它完全不同的輸出HTML:
門戶網站
<img originalSrc="cid:[email protected]" src="data:image/gif;base64,..." width="310" height="15" id="x__x0000_i1030" alt="...">
富客戶端
<img src="~WRS%7b0E0FFAA4-6FC0-49C1-9BB6-3D1A2F5211F1%7d_fichiers/image001.jpg" width=906 height=245 id="Picture 6">
另方法Office.context.mailbox.item.attachments
返回這種對象:
{
"_data$p$0": {
"id": "AAMkAGI2MjY4MGQ....",
"name": "image004.png",
"contentType": "image/png",
"size": 427,
"attachmentType": 0,
"isInline": true
}
}
由於將內聯圖像的名稱映射到Web Portal的HTML中的「cid:XYZ」非常清楚,我該如何將它們映射到富客戶機中?
稍加觀察:連attachment
JS對象說,圖像是一樣的東西image003.png
,則<img>
標籤的圖像不REFLET它在所有並顯示類似~WRS...../image001.gif
。 (文件名不identicals,擴展不匹配)
謝謝:)