表題の件、grant_type = passwordでの認証(AccessTokenの取得)→REST API(リストの取得、リスト値の取得)実行を行いたいのですが
REST API実行時に401エラー(Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException)となります。
認証:
URL:https://login.microsoftonline.com/common/oauth2/token
POST:
grant_type:password
client_id:{AzureActiveDirectry→アプリの登録で作成したclient_id}
client_secret:{上記同client_secret}
username:{自ユーザーID}
password:{自パスワード}
resource:{client_idと同値}
※resourceは「client_idと同様の値を入れてください」的なエラーが出たため
REST API:
URL:https://{tenant_id}/sites/{サイト名}/_api/web/lists/getbytitle('List')/items
GET:
Authorization: Bearer + {認証で取得したAccess_Token}
Accept:application/json;odata=verbose
エラー:
{"error_description":"Exception of type 'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException' was thrown."}
x-ms-diagnostics →3000003;reason="Invalid audience Uri 'e5cfc728-cb6b-4736-ba65-dd563042d5de'.";category="invalid_client"
補足:
必要なのか分かりませんが、以下の権限設定をしています(http://sharepoint/content/sitecollection)
https://msdn.microsoft.com/ja-jp/library/office/fp142383.aspx#PermissionsForLists
アプリの登録→必要なアクセス許可でOffice 365 SharePoint Onlineのアクセス権は付与しています。
上記検証は何故かjavascriptでajax実行するとうまく動かず、ChromeでPostmanを使用しています。