Как мне отправить запрос GET в Microsoft Graph Api? - PullRequest
0 голосов
/ 15 января 2020

У меня есть токен доступа, но мне нужно отправить его для проверки себя через API графа. Как сделать там запрос на получение?
API:

https://graph.microsoft.com/beta/me/

Я пробовал:

https://graph.microsoft.com/beta/me?access_token=

и

https://graph.microsoft.com/beta/me/access_token=

Но ни один из них не работает , он говорит, что он пуст.

Заранее спасибо

1 Ответ

2 голосов
/ 15 января 2020

В запрос необходимо добавить заголовок авторизации, содержащий слово Bearer и токен авторизации:

Authorization: Bearer <access_token>

Сам токен является строкой в ​​кодировке base64.

Этот образец PHP приложение может помочь, Microsoft Graph OneNote API PHP Пример . Особый интерес здесь представляют строки 280 - 303 из submit.php:

function initCurl($type = 'multipart')
{
    $cookieValues = parseQueryString(@$_COOKIE['graph_auth']);
    //Since cookies are user-supplied content, it must be encoded to avoid header injection
    $encodedAccessToken = rawurlencode(@$cookieValues['access_token']);
    $initUrl = $this->getPagesEndpointUrlWithSectionName();
    $ch = curl_init($initUrl);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    if ($type == 'multipart') {
        curl_setopt($ch,CURLOPT_HTTPHEADER,array(
            "Content-Type: multipart/form-data; boundary=$this->boundary\r\n".
            "Authorization: Bearer ".$encodedAccessToken
        ));
    }
    else { //simple single-part request
        curl_setopt($ch,CURLOPT_HTTPHEADER,array(
            "Content-Type:text/html\r\n".
            "Authorization: Bearer ".$encodedAccessToken
        ));
    }
    //configures curl_exec() to return the response as a string rather than echoing it
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    //use HTTP POST method
    curl_setopt($ch,CURLOPT_POST,true);
    return $ch;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...