我有一个独立的JS Web应用程序,我需要连接到Outlook并通过API检索Outlook对象,我不确定应该选择哪个API(javascriptAPI,PIA或MAPI)。
有人做过这样的事吗?
感谢。
答案 0 :(得分:0)
这实际上在很大程度上取决于您的使用案例以及您是否愿意深入研究。
首先,我强烈建议您查看Microsoft提出的比较页面: http://msdn.microsoft.com/en-us/library/office/jj900714.aspx
最强大的选项是使用C ++直接访问MAPI的选项。然而,这可能会变得非常复杂,如果您不是本机编码,我会建议不要这样做。一些入门资源: http://msdn.microsoft.com/en-us/library/ee941475(v=office.14).aspx
下一个最佳选择是使用C#或类似的.NET语言(PIA)开发托管VSTO插件。这样更容易,但我也只能将它与优秀的赎回库(http://www.dimastr.com/redemption/home.htm)结合使用。它使您的生活更加轻松,特别是在开发多个Outlook版本时。
微软提供的JS API目前非常有限,只允许您访问项目级别的内容。这对于您的用例来说已经足够了,但如果您计划的同步用例可能还不够。
我们公司还致力于在Outlook之上构建更丰富的JS API。如果您有兴趣,可以在这里查看:http://api.yasoon.com。我们也不像托管API那样功能丰富,目前仅处于测试阶段,因此您可能需要先澄清您的具体要求。通常,如果您需要完全控制,使用C#的托管API可能是最佳选择。
这个其他StackOverflow线程还包含有关此主题的大量信息: getting started with Office Outlook add-in?
答案 1 :(得分:0)
如果你们使用的是outlook.com,可以使用outlook.com API。
您需要authenticate using OAuth,然后您可以执行API调用来读取和写入联系人。例如,这是关于读/写联系人的MS docs:
function readContact_onClick() {
WL.login({
scope: "wl.basic"
}).then(
function (response) {
WL.api({
path: "contact.83960a61000000000000000000000000",
method: "GET"
}).then(
function (response) {
document.getElementById("resultDiv").innerHTML =
"ID: " + response.id +
"<br/>Name: " + response.first_name +
" " + response.last_name;
},
function (responseFailed) {
document.getElementById("infoArea").innerText =
"Error calling API: " + responseFailed.error.message;
}
);
},
function (responseFailed) {
document.getElementById("infoArea").innerText =
"Error signing in: " + responseFailed.error_description;
}
);
}