Я уже некоторое время пытаюсь решить эту проблему, я работаю над надстройкой Office-js для Outlook и пытаюсь получить доступ к данным Microsoft Graph через мой надстройку.
Но мне не удалось аутентифицировать токен, который я получаю от getAccessTokenAsync.
Если я пытаюсь использовать аутентификатор из Office-JS-Helpers, я могу получить доступ, но я бы предпочел использовать встроенную функцию надстройки для него.
код, который я пытаюсь использовать, таков:
Office.initialize = () => {
var options = { forceAddAccount: true, forceConsent: true } as Office.AuthOptions;
Office.context.auth.getAccessTokenAsync(options, getAccessTokenAsyncCallback);
}
function getAccessTokenAsyncCallback(accessTokenResponse) {
console.log(accessTokenResponse.value)
client = MicrosoftGraph.Client.init({
authProvider: (done) => {
done(null, accessTokenResponse.value);
},
debugLogging: false
})
client.api("/me")
.get((err, res, rawResponse) => {
console.log(err)
console.log("rawResponse")
console.log(rawResponse)
})
}
и мой WebApplicationInfo в моем манифесте:
<WebApplicationInfo>
<Id>{AppUID}</Id>
<Resource>api://localhost:3000/{AppUID}</Resource>
<Scopes>
<Scope>profile</Scope>
<Scope>user.read</Scope>
</Scopes>
</WebApplicationInfo>
</VersionOverrides>
и права были установлены в моем приложении на портале регистрации приложений.
Насколько я вижу при проверке / декодировании JSON Web Token, который я получаю от getAccessTokenAsync, он должен быть действительным.
но всякий раз, когда я пытаюсь подключиться с помощью этого токена, я получаю следующий ответ:
{
"statusCode": 401,
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure.",
"requestId": "4a0ce952-0e90-XXXXXXXXX-db20c6cca94e",
"date": "2018-08-30T05:37:43.000Z",
"body": {
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure.",
"innerError": {
"request-id": "4a0ce952-0e90-XXXXXXXXX-db20c6cca94e",
"date": "2018-08-30T07:37:43"
}
}
}
Я просто не могу понять, в чем здесь проблема, не прав ли я, что токен, возвращаемый из getAccessTokenAsync, мне нужен для этого?
о да, и я работаю в среде Office365 с Outlook 2016 версии 1807, сборка 10325.20118, нажмите для запуска