2015-12-27 94 views
25

我就需要檢索和應用工作從編輯日曆事件Outlook.com和Office 365.我已經看到有2個選項:展望REST API VS微軟圖形

  1. 展望REST API
  2. Microsoft Graph

他們似乎有幾乎相同的接口。我看到Outlook REST API支持通知(webhooks),Microsoft圖表不支持?那麼選擇哪一個,有哪些優勢/劣勢,爲什麼會有2個API?

回答

30

要從Outlook.com檢索和編輯日曆事件,Microsoft Graph API和Outlook REST API端點工作。如果您計劃在生產中使用的應用程序需要Webhooks,則需要使用Outlook REST API v2.0端點。我們在Microsoft Graph上預覽了Webhooks,並且正在努力幫助他們,所以您將來可以在生產應用程序中使用它們。如果您的應用程序不需要Webhooks,那麼您可以使用Microsoft Graph v1.0。 Microsoft Graph和Outlook REST API端點都完全受支持。

現在談談爲什麼有2個端點。 Outlook REST API v1.0於2014年10月推出,我們在2015年11月提供了改進的v2.0版本。它具有通過API公開的最新Outlook功能。 Microsoft Graph v1.0是一個方便的終端,我們於2015年11月推出,旨在讓應用訪問來自多個Microsoft服務的信息,例如Outlook,One Drive和Azure Active Directory。實際上,當您向任何Outlook功能的Microsoft Graph v1.0端點發出請求時,請求會被路由到Outlook REST API v2.0端點下。所以這些API集合在設計上是一樣的!

我們正在努力彌補各個服務API端點(Outlook REST API,OneDrive API,AAD圖形API等)與Microsoft Graph之間的差距,但由於兩個原因會出現小的增量。

  1. 單個服務可能具有名稱相同但意思不同的實體。例如,Outlook和OneDrive都有「文件夾」,但它們的含義不同。在這種情況下,我們需要合理化Microsoft Graph API模式,以使您清楚在訪問Microsoft Graph API時訪問哪個實體。文件夾在Outlook API v1.0端點中可用,我們將其重命名爲Outlook API v2.0端點中的MailFolder,並通過Microsoft Graph API v1.0將其公開。因此,在通過Microsoft Graph公開相同功能或API之前,您可能會經常在單個服務端點中看到某些功能或API暴露一段時間。
  2. 某些水平功能(例如,Webhooks)在Microsoft Graph中可用之前,可能會在服務端點的較早版本的Preview或GA中提供。這是由於Microsoft Graph API與各個服務端點相比是一個較新的端點。隨着時間的推移,這一差距預計將降至零。

我們的建議是你只要有你在生產中需要支持您的生產應用程序,或者至少在預覽支持應用程序開發功能/ API使用微軟圖表。這使您在未來可以輕鬆擴展需要訪問多個Microsoft服務的應用程序功能,而無需更改端點。如果您需要僅在單個服務端點中提供的功能(無論是在產品(v2.0)還是預覽(測試版)中),則可以使用各個服務端點(如Outlook REST API)。

+0

嗨Venkat,謝謝你的澄清。您是否也可以告訴我,如果我需要針對使用Outlook REST API v2顯示某些會議室用戶日曆的Android應用程序的Office 365許可證?或者這是一個Outlook帳戶工作足夠嗎?我很困惑。謝謝! –

+1

抱歉,延遲迴復。我錯過了消息通知。您的Android應用的用戶需要是Office 365用戶。要註冊您的應用程序,對於您的會議室場景,您需要使用Office 365租戶註冊您的應用程序。該應用程序將使用客戶端憑據OAuth流訪問所有會議室的日曆。因此,如果您在工作中使用Office 365,則可以使用組織的Office 365帳戶註冊您的應用程序。希望這有助於...... –

+1

那麼,如果用戶登錄到Outlook.com帳戶而不是Office365帳戶,我需要在哪裏重定向用戶?它只是帶我到365登錄頁面,嘗試將我重定向到Outlook.com,然後在嘗試執行OAuth時將我帶回到365。 –