グラフ、アズールADなどの他のMicrosoft APIにアクセスできるようにするために、Sharepoint REST APIを使用してリストからアイテムを取得するのに成功しましたが、ちょうど最近ADAL.JSを統合することに決めましたCAML-query to Sharepoint REST APIの結果が「無効なオーディエンスURI」ですか?
正常Adal.jsを認証した後は自動的に権限を持つビットをいじった後に正常に動作REST呼び出しに
Authorization: Bearer eyJ..
ヘッダを付加します。このアプリはSharepointでホストされているAngular SPAなので、このヘッダーは必要ではありませんが、本当に重要です。
しかし、私たちのいくつかのREST呼び出しでは、タクソノミをクエリする必要があります。通常のSharepoint REST APIではサポートされていないため、/ _api/web/lists/GetByTitle( 'ListName 「)/のgetItemsエンドポイント)CAMLクエリと要求ペイロードとしてすなわちhttps://mydomain.sharepoint.com/sites/dev/_api/web/lists/GetByTitle('News')/GetItems
APIは、単にこれまでのところ、私の唯一の解決策は、これを削除するために、実際のAdal.JSライブラリを変更することです Invalid audience Uri '5exx5cef-x7xx-4xxx-axxx-4xxxx2e40'.
を返すよう生憎、これは動作しません。この特定のエンドポイントのヘッダー。
私の質問は、誰かがAdal.JSを使用してSharepoint REST APIに対してCAMLクエリを実行したか、同様の問題に遭遇して何らかの洞察を提供できることです。
私はそれが構成上の問題だと思っていますが、何をすべきかに迷っています。
ジェフリー、返信ありがとうございます。残念ながら、これは私の質問には答えません。 SPリストとグラフのクエリは正常に動作します。 問題は、Sharepoint分類(通常のエンドポイントでは不可能)を照会するのに必要なCAMLクエリーで/ GetItemsエンドポイントをヒットできないことです。 だから、ADALとCAML-queriesは、どんな提案ですか? –
@Jonas、この場合、エンドポイント 'https://mydomain.sharepoint.com'をnullに設定する必要があります。私は自分の答えを更新しました。 –
閉じる!これにより、他のSPリクエストからAuthorizationヘッダーが削除されました(すばらしく、どこに行ってもその方法を見つけることができませんでした)。それでも、/ GetItemsエンドポイントに追加されますが、理由は分かりませんが、POST要求です。手動でAuthorizationヘッダーを削除すると、ここで動作します。 コメントの後の作業の例(許可なし): https://my-own-domain.sharepoint.com/sites/dev/_api/web/lists/getByTitle('generalinformation')/items?$select=タイトル、jyfo 有効ではありません(認証ヘッダーはまだOPのエラーです): https://my-own-domain.sharepoint.com/sites/dev/_api/web/lists/GetByTitle('News')/GetItems –