SharePoint REST APIの使用方法について

ShotaTsuji 20 評価のポイント
2025-09-27T07:56:23.3533333+00:00

Postmanで以下HTTPリクエストをした結果、以下エラーが発生し、解決できず困っております。解決するための確認ポイントアドバイスいただけると幸いです。

GET /sites/{サイト名}/_api/web/lists HTTP/1.1
Host: {ドメイン}
Authorization: Bearer {取得したBearerToken}
Accept: application/json;odata=verbose

[エラーメッセージ]

Exception of type 'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException

[確認済み事項]

1.BearerTokenを取得したときのScopeがhttps://{tenant}.sharepoint.com/.defaultであること

2.Microsoft Entra IDのアプリ登録のアクセス権限がSites.FullControl.All、Sites.ReadWrite.All(種類はアプリケーション)が付与されており、管理者の同意を得ていること

Microsoft 365 と Office | SharePoint | ビジネス向け | その他
0 件のコメント コメントはありません

質問作成者が受け入れた回答
Vicky-I 6,345 評価のポイント Microsoft 外部スタッフ モデレーター
2025-09-27T09:21:10.0933333+00:00

この回答は自動翻訳されています。そのため、文法上の誤りや不適切な表現が含まれている可能性があり、著者の意図した本来の意味や語調を完全に反映していない可能性があります

親愛なる @ShotaTsuji 様

Microsoft Q&A にお問い合わせいただきありがとうございます。

SharePoint REST API にアクセスしようとした際に、以下のエラーが発生していることを確認しました:

'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException' の例外

このエラーは通常、リクエストに使用されたアクセストークンに、SharePoint Online が期待する正しい audience(aud)クレームが含まれていないことを示しています。調査と理解に基づき、以下の提案をさせていただきます。少しでもお役に立てれば幸いです。

  1. 正しいスコープまたはリソースの確認

OAuth 2.0 クライアント資格情報フローを使用してトークンを要求する場合、スコープまたはリソースは SharePoint Online サービスと一致している必要があります。

Azure AD v2.0 エンドポイントの場合: scope=https://{tenant}.sharepoint.com/.default

Azure AD v1.0 エンドポイントの場合: resource=https://{tenant}.sharepoint.com/

これにより、トークンが SharePoint Online 用に発行され、正しい aud クレームが含まれます。

参考スレッド:Microsoft Q&A – AudienceUriValidationFailedException

  1. トークンの検査

https://jwt.ms を使用してトークンをデコードし、aud クレームを確認してください。SharePoint REST API に対しては、期待される値は:

https://{tenant}.sharepoint.com

aud クレームが https://graph.microsoft.com やアプリケーションのクライアント ID に設定されている場合、SharePoint によりトークンは拒否されます。

参考スレッド:Microsoft Q&A – Access token for SharePoint API is not valid

  1. API エンドポイントの確認

API 呼び出しが有効な SharePoint サイトを対象としていることを確認してください:

サイトコレクションの場合: GET https://{domain}/sites/{site-name}/_api/web/lists

ルートサイトコレクションの場合: GET https://{domain}/_api/web/lists

参考スレッド:Microsoft Q&A – Error 401 AudienceUriValidationFailedException

  1. 権限の確認

以下のアプリケーション権限が正しく構成されていることを確認してください:

  • Sites.FullControl.All
  • Sites.ReadWrite.All

また、管理者による同意が付与されている必要があります。これらの権限は、REST API を介して SharePoint リストにアクセスするには十分です。今回のエラーは audience の検証に関連しているため、問題はトークン取得プロセスにある可能性が高いです。

参考スレッド:Microsoft Q&A – Exception in SharePoint API

初期の回答がすぐに問題を解決しない場合や、シナリオに誤解がある場合もございますが、進捗のご報告や追加のご相談をいただければ幸いです。

この情報が少しでもお役に立てれば嬉しく思います。

敬具


この回答が役に立った場合は、「承認済み回答」としてマークしていただくようお願いいたします。これにより、同様の質問を持つ他のユーザーが、正確でタイムリーな解決策を見つけやすくなります。 コミュニティへのご参加に感謝申し上げます。今後もサポートさせていただきます。 注:このスレッドに関するメール通知を受け取りたい場合は、ドキュメントに記載されている手順に従ってメール通知を有効にしてください。

この回答は役に立ちましたか?


0 件の追加の回答

並べ替え方法: 最も役に立つ

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "推奨" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。