2015-12-27 65 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。 –