下部の編集を参照してください。EWSとOAuthを使用するOffice 365カレンダーAPI 2
私は、ユーザーのカレンダーの予定を作成/削除/更新するために、EWS(管理対象APIではなく)を使用してOffice 365 APIを使用しようとしています。
これまでのところ、私は正常にBasic Authを使用して、SOAPリクエストが機能することを検証しました。私は現在、Basic AuthをOAuth 2に置き換えようとしています。私はクライアントクレデンシャルフローを使用する必要があります。アプリケーションへ
提供管理者の同意:
は、ここで私が続くステップです。ブラウザに次のURLを表示し、管理者アカウントを使用して同意しました。同意権を付与する際に
https://login.microsoftonline.com/common/oauth2/authorize? response_type=code+id_token& scope=openid& client_id=[Client ID]& redirect_uri=http://localhost/myapp/permissions& resource=https://outlook.office.com& prompt=admin_consent& response_mode=form_post& nonce=1234
、私は応答から
id_token
を取得し、そしてJWT.ioを使用してそれをデコード。ペイロードから、私はtid
を記録しました。次に、私は次のリクエスト送信によってアクセストークンを取得した:私は、基本認証を使用して行ったように、私は基本認証ヘッダを置き換える以外は、私は、同じ要求を送ったアクセストークンを使用
POST https://login.microsoftonline.com/[TID]/oauth2/token HTTP/1.1 cache-control: no-cache Content-Type: application/x-www-form-urlencoded Accept: */* Host: login.microsoftonline.com accept-encoding: gzip, deflate Connection: close client_id=[CLIENT ID]& client_secret=[CLIENT SECRET]& grant_type=client_credentials& resource=https%3A%2F%2Foutlook.office.com
を
:The token contains not enough scope to make this call.
Authorization: Bearer [Access Token]
と私は、次のようなエラー(403 Forbidden
)を受け
このエラーを修正するには何が必要ですか?
編集1:私はUse Exchange Web Services with full access to all mailboxes
アプリケーションのアクセス許可を追加し、今500 Internal Server Error
になりSOAPメッセージを送信する...