2013-10-10 177 views
2

我有一個獨立的JS Web應用程序,我需要連接到Outlook並通過API檢索Outlook對象,我不確定應該選擇哪個API(javascriptAPI,PIA或MAPI)。與JS Web應用程序集成Outlook

有沒有人做過這樣的事情?

謝謝。

+0

我不是專家,但如果你的應用程序是基於JS,並且有一個基於JS API,我認爲會是一個好的一個開始。 –

+0

感謝您的快速回答,但不是僅適用於郵件應用程序的JavaScriptAPI? –

回答

0

這實際上很大程度上取決於您的使用案例和您願意潛入的東西。

首先,我強烈建議看一下比較頁微軟豎起: 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?

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; 
     } 
    ); 
}