2015-12-27 35 views
25

tôi đang làm việc trên một ứng dụng mà cần phải lấy và chỉnh sửa sự kiện lịch từ Outlook.com và Office 365. Tôi đã thấy có 2 lựa chọn:Outlook REST API vs Microsoft Graph

  1. Outlook REST API
  2. Đồ thị Microsoft

Dường như chúng có giao diện tương tự. Tôi thấy rằng Outlook REST API có hỗ trợ cho các thông báo (webhooks), Microsoft đồ thị không? Vì vậy, một trong những lựa chọn, lợi thế/bất lợi là gì và tại sao có 2 api?

Trả lời

30

Để truy xuất và chỉnh sửa sự kiện lịch từ các điểm cuối API Outlook, Microsoft Graph API và API REST API hoạt động. Nếu bạn yêu cầu Webhooks cho một ứng dụng bạn đang có kế hoạch sử dụng trong sản xuất, thì bạn cần sử dụng điểm cuối API REST API v2.0. Chúng tôi có Webhooks có sẵn trong bản xem trước trên Microsoft Graph, và đang làm việc để GA chúng, vì vậy bạn có thể sử dụng chúng trong các ứng dụng sản xuất của bạn trong tương lai. Nếu bạn không cần Webhook cho ứng dụng của mình thì bạn có thể sử dụng Microsoft Graph v1.0. Cả hai điểm cuối API của Microsoft Graph và Outlook đều được hỗ trợ đầy đủ.

Bây giờ, tại sao có 2 điểm cuối. API REST API v1.0 của Outlook đã được ra mắt vào tháng 10 năm 2014 và chúng tôi đã cung cấp phiên bản v2.0 cải tiến vào tháng 11 năm 2015. Nó có tính năng Outlook mới nhất được hiển thị thông qua API. Microsoft Graph v1.0 là điểm cuối thuận tiện, chúng tôi đã khởi chạy vào tháng 11 năm 2015, để ứng dụng truy cập thông tin từ nhiều dịch vụ của Microsoft, ví dụ: Outlook, One Drive và Azure Active Directory. Trong thực tế, khi bạn thực hiện một yêu cầu tới điểm cuối Microsoft Graph v1.0 cho bất kỳ tính năng Outlook nào, yêu cầu sẽ được định tuyến đến điểm cuối API REST API v2.0 dưới các nắp. Vì vậy, các bộ API giống nhau theo thiết kế! Chúng tôi đang nỗ lực để đóng mọi khoảng trống giữa các điểm cuối API dịch vụ riêng lẻ (API Outlook REST, API OneDrive, API biểu đồ AAD, v.v.) và Đồ thị Microsoft, nhưng sẽ có một vùng đồng bằng nhỏ vì hai lý do.

  1. Dịch vụ riêng lẻ có thể có các thực thể có cùng tên nhưng có ý nghĩa khác. Ví dụ, cả Outlook và OneDrive đều có "thư mục" nhưng chúng có nghĩa là những thứ khác nhau. Trong trường hợp này, chúng ta cần hợp lý hóa lược đồ API của Microsoft Graph để làm rõ cho bạn đối tượng nào bạn đang truy cập khi duyệt qua Microsoft Graph API. Thư mục đã có sẵn trong điểm cuối API Outlook v1.0 và chúng tôi đã đổi tên nó thành MailFolder trong điểm cuối API Outlook v2.0 và nó được hiển thị thông qua Microsoft Graph API v1.0. Vì vậy, bạn luôn có thể thấy một số tính năng hoặc API được hiển thị trong một điểm cuối dịch vụ riêng lẻ trong một thời gian trước khi tính năng hoặc API tương tự được hiển thị thông qua Microsoft Graph.
  2. Một số khả năng ngang, ví dụ: Webhook có thể có sẵn trong bản xem trước hoặc GA trước đó trong điểm cuối dịch vụ trước khi có sẵn trong Microsoft Graph. Điều này là do Microsoft Graph API là một điểm cuối mới hơn so với các điểm cuối dịch vụ riêng lẻ. Theo thời gian, danh sách các khoảng trống này dự kiến ​​sẽ giảm xuống bằng không.

Đề xuất của chúng tôi là dành cho bạn sử dụng Microsoft Graph miễn là nó có các tính năng/API bạn cần trong sản xuất để hỗ trợ các ứng dụng sản xuất của bạn hoặc ít nhất trong Bản xem trước để hỗ trợ phát triển ứng dụng. Điều này giúp bạn dễ dàng hơn trong tương lai, để mở rộng chức năng ứng dụng của bạn yêu cầu quyền truy cập vào nhiều dịch vụ của Microsoft mà không thay đổi điểm cuối. Bạn có thể sử dụng các điểm cuối dịch vụ riêng lẻ như API REST của Outlook nếu bạn cần một tính năng chỉ có sẵn trong điểm cuối dịch vụ riêng lẻ, hoặc trong sản xuất (v2.0) hoặc dưới dạng bản xem trước (beta).

+0

Hi Venkat, cảm ơn bạn đã làm rõ. Bạn cũng có thể cho tôi biết nếu tôi cần giấy phép Office 365 cho ứng dụng android hiển thị lịch của người dùng phòng họp bằng Outlook REST API v2 không?Hoặc là một tài khoản Outlook từ công việc đủ? Tôi khá bối rối. Cảm ơn! –

+1

Xin lỗi vì sự chậm trễ trong phản hồi. Tôi đã bỏ lỡ thông báo tin nhắn. Người dùng ứng dụng Android của bạn cần phải là người dùng Office 365. Để đăng ký ứng dụng của bạn, đối với kịch bản phòng hội nghị của bạn, bạn cần đăng ký ứng dụng của mình bằng cách sử dụng đối tượng thuê Office 365. Ứng dụng sẽ sử dụng luồng OAuth ủy nhiệm ứng dụng khách để truy cập lịch của tất cả các phòng hội nghị. Vì vậy, nếu bạn đang sử dụng Office 365 tại nơi làm việc, bạn chỉ có thể sử dụng tài khoản Office 365 của tổ chức của bạn để đăng ký ứng dụng của bạn. Hy vọng điều này sẽ giúp ... –

+1

Vì vậy, nơi nào tôi cần phải chuyển hướng người dùng nếu họ đang đăng nhập vào tài khoản Outlook.com chứ không phải tài khoản Office365? Nó chỉ đưa tôi đến trang đăng nhập 365, cố gắng chuyển hướng tôi đến Outlook.com, sau đó đưa tôi trở lại 365 khi tôi cố gắng thực hiện OAuth. –

Các vấn đề liên quan