В настоящее время я пытаюсь получить все события календаря пользователя outlook. Я выполнил все инструкции по настройке Azure Active Directory V 2.0 и получаю токен доступа:
Office.context.auth.getAccessTokenAsync(
{
allowConsentPrompt: true,
allowSignInPrompt: true,
},
(result) => {
if (result.status === 'succeeded') {
return result.value
}
return result.error
},
)
После этого я пытаюсь получить события календаря пользователя, выполнив:
fetch(
`https://graph.microsoft.com/v1.0/me/events`,
{
method: 'GET',
headers: {
Authorization: `Bearer ${accessToken}`,
'Access-Control-Allow-Credentials': true,
'access-control-allow-origin': 'my.domain',
'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept',
Prefer: 'outlook.timezone',
}
}
)
В конце я получаю ответ 401 с телом:
{
"error": {
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure. Invalid audience.",
"innerError": {
"request-id": "1fba5937-3106-460c-98a6-a1e7858b8116",
"date": "2020-02-12T13:59:21"
}
}
}
В данный момент я застрял, я также пытался использовать вместо графа. microsoft.com для использования Office.context.mailbox.restUrl, но тот не принимает токен доступа, который у меня есть. Может быть, я могу пропустить что-то очевидное?
PS: я забыл упомянуть, что разрешения области, которые я дал моей надстройке:
<Scopes>
<Scope>user.read</Scope>
<Scope>profile</Scope>
<Scope>openid</Scope>
<Scope>email</Scope>
<Scope>offline_access</Scope>
<Scope>files.read.all</Scope>
<Scope>calendars.read</Scope>
</Scopes>
Спасибо