了解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。