Я пытаюсь выполнить следующий запрос Microsoft Graph:
$url = 'https://graph.microsoft.com/v1.0/me/calendarview?startdatetime=2020-04-17T12:13:36.933Z&enddatetime=2020-04-24T12:13:36.933Z';
$data = array('grant_type' => 'authorization_code', 'client_id' => '<myclientid>', 'client_secret' => '<myclientsecret>', 'redirect_uri' => 'http://localhost/myapp/request.php', 'code' => '<myauthorisationcode>');
$options = array(
'http' => array(
'header' => "Authorization: Bearer <myaccesstoken>",
'header' => "Host: login.microsoftonline.com",
'header' => "Content-type: application/json",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }
var_dump($result);
На самом деле я должен получить информацию о своем календаре сейчас. Но я получаю следующее предупреждение:
Предупреждение: file_get_contents (https://graph.microsoft.com/v1.0/me/calendarview?startdatetime=2020-04-17T12: 13: 36.933Z & enddatetime = 2020-04-24T12: 13: 36.933Z ): не удалось открыть поток: HTTP-запрос не выполнен! HTTP / 1.1 401 Не авторизован в C: \ xampp \ htdocs \ myapp \ request. php в строке 16 bool (false)
В Azure Я добавил следующие 3 разрешения API : Calendars.Read, User.Read, User.Read.All.
Мои API-авторизации
Кто-нибудь знает, почему мой запрос не был принят? Спасибо за вашу помощь!