2013-02-18 23 views
5

Tôi có một nhiệm vụ trong đó yêu cầu tôi kết nối tài khoản Exchange Online và liệt kê tất cả các mục nhập lịch trong PHP.Cách kết nối với API trực tuyến Exchange từ PHP

Tôi đã đọc qua nhiều tài liệu trợ giúp của Microsoft nhưng tất cả đều đề cập đến mã C#. Ai đó có thể hướng dẫn tôi qua các bước để đạt được điều này bằng cách sử dụng PHP.

Trả lời

14

Hãy thử điều này:

$ews = new ExchangeWebServices($host, $username, $password); 

$request = new EWSType_FindItemType(); 
$request->Traversal = EWSType_ItemQueryTraversalType::SHALLOW; 

$request->ItemShape = new EWSType_ItemResponseShapeType(); 
$request->ItemShape->BaseShape = 
     EWSType_DefaultShapeNamesType::DEFAULT_PROPERTIES; 

$request->CalendarView = new EWSType_CalendarViewType(); 
$request->CalendarView->StartDate = date('c', strtotime('01/01/2011 -00')); 
$request->CalendarView->EndDate = date('c', strtotime('01/31/2011 -00')); 

$request->ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType(); 
$request->ParentFolderIds->DistinguishedFolderId = 
     new EWSType_DistinguishedFolderIdType(); 
$request->ParentFolderIds->DistinguishedFolderId->Id = 
     EWSType_DistinguishedFolderIdNameType::CALENDAR; 

Với điều này: https://github.com/jamesiarmes/php-ews

+0

Chúng tôi tạo một tài khoản trong Office 360 ​​và cố gắng để truy cập vào lịch ở đó. Dịch vụ trao đổi trực tuyến KHÔNG Exchange 2007 hoặc các dịch vụ khác. Chúng tôi đang cố kết nối tài khoản trực tuyến https://portal.microsoftonline.com/. Chúng tôi có thể kết nối trực tuyến hoặc mã này hoạt động với máy chủ thư trao đổi địa phương Tên máy chủ lưu trữ phải là gì? Chúng tôi đang cố gắng sử dụng vinniehash.onmicrosoft.com Thats được tạo khi chúng tôi tạo tài khoản – VMN

+1

Tại sao bạn không chạy mã được cung cấp trên máy chủ của mình để tìm hiểu? –

+0

@fnkr bạn đã thử nghiệm nó, bạn đã nghĩ ra điều gì, thư viện php-ews có hoạt động với máy chủ vinniehash.onmicrosoft.com của bạn được lưu trữ tại microsoftonline không? – mikkelbreum