我正在开发一个需要从 Outlook.com 和 Office 365 检索和编辑日历事件的应用程序。我已经看到有 2 个选项:
- Outlook REST API
- 微软图形 API
它们似乎具有几乎相同的界面。我看到 Outlook REST API 支持通知(webhooks),Microsoft graph 没有?那么,该选择哪一个呢?有什么优点/缺点,为什么有两个 API?
我正在开发一个需要从 Outlook.com 和 Office 365 检索和编辑日历事件的应用程序。我已经看到有 2 个选项:
它们似乎具有几乎相同的界面。我看到 Outlook REST API 支持通知(webhooks),Microsoft graph 没有?那么,该选择哪一个呢?有什么优点/缺点,为什么有两个 API?
免责声明:我是 Microsoft 员工。
要从 Outlook.com 检索和编辑日历事件,Microsoft Graph API 和 Outlook REST API 端点都可以使用。如果您计划在生产中使用的应用程序需要 Webhook,则需要使用 Outlook REST API v2.0 端点。Microsoft 在 Microsoft Graph 上的预览版中提供了 Webhook,并且正在努力将它们带到一般可用性 (GA) 中,以便你将来可以在生产应用程序中使用它们。如果您的应用不需要 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、OneDrive 和 Azure Active Directory)的信息。事实上,当您向 Microsoft Graph v1.0 端点发出任何 Outlook 功能的请求时,请求会被路由到幕后的 Outlook REST API v2.0 端点。所以 API 集在设计上是相同的!
Microsoft 正在努力缩小单个服务 API 端点(Outlook REST API、OneDrive API、AAD Graph API 等)和 Microsoft Graph 之间的任何差距,但由于两个原因,会有一个小的差异。
Microsoft 建议您使用 Microsoft Graph,只要它具有您在生产中支持您的生产应用程序所需的功能/API,或者至少在预览版中支持应用程序开发。这使您将来可以轻松扩展需要访问多个 Microsoft 服务的应用程序功能,而无需更改端点。如果您需要仅在单个服务端点中可用的功能,无论是在生产中 (v2.0) 还是作为预览版 (beta),您可以使用单个服务端点,例如 Outlook REST API。