0

多くの作業と欲求不満の後、これまでのところ、ユーザーの電子メールを読むことができるAzureに関するアプリケーションがあります。Office 365 API ErrorAccessDenied電子メールを送信するときにアクセスが拒否される

テスト目的のために、私は、ユーザーに代わって電子メールを送信すること、ユーザーの電子メールを読むことなど、アプリケーションにほぼ完全なアクセス(画像参照)enter image description hereを提供しました。必要な場合を除き、このようなアクセスをアプリケーションに適用することができます。

私は電子メールに

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" 
    } 
    } 
} 

をこのエラーを与えました?私はあなたの助けをappericiate

https://login.microsoftonline.com/f0263....0be3/oauth2/authorize?client_id=8a676..e4b6&redirect_uri=http://www.wrabc.com:8090/&response_type=code. 

トークンは、次のコードに買収されました。

+0

この問題を絞り込むには、[このサイト](https://jwt.io/)のトークンフォームを解析して、 'scp'クレームに' Mail.Send'があるかどうかを確認することをお勧めします。 –

+0

@ FeiXue-MSFT私は以下の "scp"を参照しています: "Mail.ReadWrite Mail.ReadWrite.Shared MailboxSettings.ReadWrite User.Read"、Mail.Sendはありません。 – WowBow

+0

私はPOST https://outlook.office.com/api/v1.0/me/folders/inbox/messages(to draft messages)を試みました。 Mail.Sendスコープに問題があることがわかります。私はAzure ADのアクセス許可に行きました。私は、 "Send mail as user"を含め、すべてがチェックされていることがわかりました。私がそれをした後、新しいトークンを取得し、まだそれはmail.send scpを持っていません。私は何をしなければならないか分からない。 – WowBow

答えて

1

メッセージを送信するAPIを実行するには、Mail.Sendのアクセス許可を与える必要があります。ユーザーがアプリを許可した後に権限を変更する場合、ユーザーは権限を再付与することによって権限を更新する必要があります。

再認可可能なもう1つの方法は、承認リクエストを初期化するときにパラメータprompt=consentを追加することです。リクエスト内のパラメータの詳細については、hereを参照してください。

+0

兄さんありがとうございました。プロンプト=同意が働いた。それだけでなく、ユーザーはどのような種類の助成金を見ることができます(過去には見たことがない)。私は皆さんがほとんどの機能を実行するいくつかの例を文書化して欲しいと思います。物事を見つけるのは難しいです。もちろん、私たちの間違いもありましたが、ドキュメンテーションは私たちを導くのが少し難しかったです。 – WowBow

1

あなたが同意した後にアクセス許可を追加した場合は、https://myapps.microsoft.com/でそのユーザーのアプリを削除したり、新しいアプリを登録したりできますか?その後、サインインして同意してください。それはトークンのscpを更新するはずです。

+0

削除ボタンはありません。問題を報告して情報を取得するだけです。 – WowBow

+0

scpを手動で更新できますか?マニフェストファイルなどのようなものですか? – WowBow

+0

https://portal.office.com/でRemoveオプションを取得していますか?右上隅にあるあなたの名前をクリックし、「アカウントを表示」を選択してから「アプリの権限」を選択します。他のダイアログに表示されない場合は、ここでオプションを選択できるかどうかわかりませんが、可能だと思います。 – DianeD

関連する問題