MS Graph API отклоняет токен - PullRequest
       80

MS Graph API отклоняет токен

0 голосов
/ 20 февраля 2019

Я пытаюсь создать службу node.js для доступа к календарю моего пользователя и отправки приглашений другим пользователям через MS Graph API.

Поэтому я следовал этому руководству: https://docs.microsoft.com/en-us/graph/auth-v2-service

const endpoint = "https://login.microsoftonline.com/[tenant]/oauth2/token";
const requestParams = {
    grant_type: "client_credentials",
    client_id: "[appid]",
    scope: 'https://graph.microsoft.com/.default',
    client_secret: "[password/secret]"
};

request.post({ url:endpoint, form: requestParams }, function (err, response, body) {
    if (err) {
        console.log("error");
    }
    else {
        //console.log("Body=" + body);
        let parsedBody = JSON.parse(body);         
        if (parsedBody.error_description) {
            console.log("Error=" + parsedBody.error_description);
        }
        else {
            console.log("Access Token=" + parsedBody.access_token);
            requestData(parsedBody.access_token)
        }
    }
});

function requestData(accessToken) {
    request.get({
        url: "https://graph.microsoft.com/v1.0/me/calendars",
        headers: {
          "Authorization": "Bearer " + accessToken
        }
    }, function(err, response, body) {
        console.log(body);
    });
}

Я мог успешно получить токен доступа, но при попытке запросить любой из API-интерфейсов Graph я получаю сообщение об ошибке:

{
  "error": {
    "code": "InvalidAuthenticationToken",
    "message": "Access token validation failure.",
    "innerError": {
      "request-id": "..",
      "date": "2019-02-17T09:44:09"
    }
  }
}

Есть какие-нибудь намеки на то, что я мог сделать неправильно?

1 Ответ

0 голосов
/ 27 февраля 2019

Возможно, вы получаете эту ошибку, так как в своем коде вы пытаетесь получить токен доступа, отправив запрос токена на конечную точку /[tenant]/oauth2/token.В соответствии с документацией, которую вы читаете, вам необходимо отправить запрос доступа к конечной точке V2, который является /[tenant]/oauth2/v2.0/token.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...