了解Office 365的Microsoft API响应

问题描述:

我试图从MS Office 365资源日历中检索信息。了解Office 365的Microsoft API响应

我使用下面显示的代码,并获取返回的字符串。我想把它作为JSON提要。或数组如果JSON是不可能的,因为我打算在'fullcalendar'上显示结果

任何人都知道这个技巧。

CODE:

$username = '[email protected]'; // User with delegate control. 
$password = '[email protected]'; 
$calendar = '[email protected]'; 

$URL = 'https://outlook.office365.com/api/v1.0/users/'.$calendar.'/calendarview?startDateTime=05/30/2016&endDateTime=06/13/2016'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$URL); 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
$result= (curl_exec ($ch)); 
curl_close ($ch); 
echo gettype($result)."<br /><br /><br />"; 
print_r($result); 

RESULT(刚开始所示):

string 

{"@odata.context":"https://outlook.office365.com/api/v1.0/$metadata#Users('[email protected]')/CalendarView","value":[{"@odata.id":"https://outlook.office365.com/api/v1.0/Users('[email protected]')/Events('AAMkADBiMmM3NjE5LTUyMDUtNDY0Mi1hNjAyLTY2M2ZlYmM3OTkwOQBGAAAAAAAnzkQlYPmYQ4MtD6sjQqO8BwAaVyh143FwQZzopix2q_v7AAAAAAENAAAaVyh143FwQZzopix2q_v7AAAAAA0eAAA=')","@odata.etag":"W/\"GlcodeNxcEGc6KYsdqvr+wAAAAAMVg==\"","Id":"AAMkADBiMmM3NjE5LTUyMDUtNDY0Mi1jAyLTY2M2ZlYmM3OTkwOQBGAAAAAAAnzkQlYPmYQ4MtD6sjQqO8BwAaVyh143FwQZzopix2q_v7AAAAAAENAAAaVyh143FwQZzopix2q_v7AAAAAA0eAAA=","DateTimeCreated":"2016-06-06T12:07:57.398966Z","DateTimeLastModified":"2016-06-06T12:07:57.8833477Z","ChangeKey":"GlcodeNxcEGc6KYsdqvr+wAAAAAMVg==","Categories":[],"StartTimeZone":"Romance Standard Time","EndTimeZone":"Romance Standard Time","ResponseStatus":{"Response":"Accepted","Time":"2016-06-06T12:07:57.6489687Z"},"iCalUId" .... 

从Office 365 REST得到HTTP响应对于已经返回JSON格式的字符串。根据代码,似乎你正在用PHP开发。我们需要通过基于我们正在开发的语言的库将JSON格式字符串转换为JSON对象。

例如,我们可以使用json_decode($ string)将String转换为PHP中的Array/Object。有关更多详细信息,请参阅here