Я пытался это включать и выключать уже несколько месяцев, так как начал играть в Graph API, но все еще безуспешно. Я видел других людей, пытающихся сделать то же самое, но никогда не видел рабочего примера для PHP.
Я хочу использовать Microsoft Graph V1.0, чтобы получить мою фотографию пользователя и отобразить ее на веб-странице. Я уже успешно использую Microsoft Graph для получения других данных с помощью других запросов, но мне кажется, что я не могу понять это с моими ограниченными знаниями.
Я использую служебную учетную запись Office365 и использую обозреватель графиков Microsoft. IЯ проверил и могу получить изображение из моего профиля.
Это один из многих вариантов, которые я пробовал, основываясь на других работах. Если бы кто-нибудь мог указать, что мне нужно, чтобы изображение отображалось, так как мне кажется, что это как-то связано с декодированием изображения base64, но я пробовал так много разных вещей, но успеха не было.
$token = $_SESSION['AUTH_TOKEN'];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://graph.microsoft.com/v1.0/me/photo/%24value",
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => null,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_HTTPHEADER => array(
"authorization: Bearer $token",
"accept: application/json",
"content-type: application/json; charset=utf-8"
) ,
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
$photo = json_decode($response);
$photo = json_decode($response, true);
$photo['@odata.context'];
echo '<img src="data:image/jpeg;base64,' . base64_encode($photo['@odata.context']) . '"/>';
//echo print_r($response, true);