У нас есть приложение на Azure, которое мы уже могли прочитать по электронной почте пользователя до сих пор после большой работы и разочарования.Office 365 API ErrorAccessDenied Access запрещается при отправке по электронной почте
Для целей тестирования я дал приложение почти полный доступ (см. Изображение) ниже), включая, но не ограничиваясь, отправку электронной почты от имени пользователей, чтение электронной почты пользователей и т. Д. Я знаю, что нам не нужно давать применение такого доступа, если это необходимо, но это просто для того, чтобы отправить электронную почту.
Я этот локон код для целей тестирования для отправки электронной почты
curl -i https://graph.microsoft.com/v1.0/me/sendmail -H 'Content-Type: application/json' -X POST -d '{"Message":{"Subject": hi", "Body": {"ContentType": "Text", "Content": "body"},"ToRecipients":[{"EmailAddress": {"Address": "[email protected]"}}]},"SaveToSentItems": "true"}' -H 'Authorization: Bearer eyJ......TOKEN.....YlhaHbAFQ'
и он дал мне эту ошибку
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access is denied. Check credentials and try again.",
"innerError": {
"request-id": "4895f98f-c5a4-4083-867b-f6c7b4634b7f",
"date": "2017-01-24T21:48:47"
}
}
}
Если приложение имеет такой полный доступ, почему приложение получить отказано ?
Токен был приобретен следующим кодом:
https://login.microsoftonline.com/f0263....0be3/oauth2/authorize?client_id=8a676..e4b6&redirect_uri=http://www.wrabc.com:8090/&response_type=code.
Я appericiate вашей помощи.
Чтобы сузить эту проблему, я предлагаю вам разобрать маркерную форму [этот сайт] (https://jwt.io/), чтобы проверить, есть ли 'Mail.Send' в претензии' scp'. –
@ FeiXue-MSFT Я вижу следующее «scp»: «Mail.ReadWrite Mail.ReadWrite.Shared MailboxSettings.ReadWrite User.Read», No Mail.Send. – WowBow
Я пробовал POST https://outlook.office.com/api/v1.0/me/folders/inbox/messages(для создания сообщений), и это сработало. Я вижу, что есть проблема с областью Mail.Send. Я пошел на разрешения в Azure AD, и я вижу, что все проверяются, включая «Отправить почту как пользователь». После этого я получил новый токен, и он по-прежнему не имеет mail.send scp. Не уверен, что я должен делать. – WowBow