2014-09-13 27 views
6

Tôi đang xây dựng một ứng dụng WPF đang thực hiện tóm tắt lịch của nhiều người dùng trong tổ chức. Công ty đang sử dụng Office 365 vì vậy tôi nghĩ rằng Office 365 API sẽ là cách tốt nhất để đi.Truy cập lịch của người dùng khác trong Office 365 API

Tôi đã quản lý để truy cập vào lịch của riêng mình nhưng tôi không biết cách truy cập lịch của đồng nghiệp. Có thể không? Tôi cũng cần liệt kê GAL để chọn người dùng mà tôi muốn đưa vào tóm tắt.

Trả lời

9

[CẬP NHẬT] Hỗ trợ tài khoản dịch vụ hiện khả dụng cho API REST. Vui lòng xem Building Daemon or Service Apps with Office 365 Mail, Calendar, and Contacts APIs (OAuth2 client credential flow) để biết thêm thông tin.

Cảm ơn bạn đã đặt câu hỏi và quan tâm đến API Office 365! Hiện tại, bạn có thể sử dụng Office 365 API để truy cập lịch của người dùng đã được xác thực nhưng không truy cập lịch của người dùng khác. Cho phép tài khoản dịch vụ được ủy quyền truy cập thư/lịch/địa chỉ liên hệ của nhiều người dùng trong tổ chức hoặc toàn bộ tổ chức có trên lộ trình của chúng tôi và được ưu tiên khá cao, do đó hãy chú ý theo dõi.

Đồng thời, bạn có thể sử dụng API được quản lý của Exchange Web Services (EWS) để triển khai ứng dụng của mình. Tuy nhiên, với ứng dụng EWS mạo danh, tài khoản dịch vụ có quyền truy cập đọc/ghi vào toàn bộ hộp thư của người dùng và không chỉ lịch. Khi chúng tôi thêm hỗ trợ cho tài khoản dịch vụ trong Office 365 API, bạn sẽ có thể sử dụng OAuth và phạm vi xuống quyền truy cập của ứng dụng để chỉ đọc lịch của người dùng.

Dưới đây là một vài liên kết giải thích cách hoạt động của tính năng mạo danh ứng dụng EWS.

Xin vui lòng cho tôi biết nếu bạn có bất kỳ thắc mắc hoặc cần thêm thông tin.

Cảm ơn,

Venkat

+2

Mọi cập nhật với quyền truy cập của API vào lịch của người dùng khác? – Serge

+0

@venkat bất kỳ cập nhật nào về điều này? chúng tôi có thể truy cập lịch của người dùng khác không? –

+0

Chưa, xin lỗi. Điều này vẫn đang được thực hiện. Cảm ơn. –

3

Vâng, đó là có thể với Basic Authentication (nhưng không phải với OAuth2). Ngoài ra, tài khoản của bạn phải có quyền truy cập Đọc vào lịch của đồng nghiệp (có thể được quản trị viên thực hiện bằng cách đặt quyền thư mục hộp thư).

var authClearText = string.Format("{0}:{1}", yourEmail, yourPassword); 
var authEncoded = Convert.ToBase64String(Encoding.Default.GetBytes(authClearText)); 
var authHeaderValue = "Basic " + authEncoded; 

using (var httpClient = new HttpClient()) 
{ 
    httpClient.DefaultRequestHeaders.Add("Authorization", authHeaderValue); 
    ... 
} 
Các vấn đề liên quan