Использование PHP для получения фотографий пользователей из Microsoft Graph - PullRequest
0 голосов
/ 04 ноября 2019

Я пытался это включать и выключать уже несколько месяцев, так как начал играть в 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...