ログインしたユーザーとは異なるユーザーを使用してリストとライブラリにアクセスする spFx アプリを構築しようとしています。ログインしたユーザーには、リストに直接アクセスする権限はなく、アプリ経由でのみアクセスできます。しかし、現在ログインしているユーザーとは異なるユーザーの sp を初期化する方法が見つかりません。
標準的な方法では、ログインしているユーザーが表示されます。
sp.setup({
spfxContext: this.context
});
nodejs のセットアップ方法は有望に見えますが、spFx アプリ内では機能しません。
sp.setup({
sp: {
fetchClientFactory: () => {
return new SPFetchClient("{your site url}", "{your client id}", "{your client secret}");
},
},
});
また、MSAL 経由で sharepoint を呼び出します。
sp.setup({
sp: {
fetchClientFactory: MsalClientSetup({
auth: {
authority: "https://login.microsoftonline.com/mytentant.onmicrosoft.com",
clientId: "00000000-0000-0000-0000-000000000000",
redirectUri: "https://mytentant.sharepoint.com/sites/dev/SitePages/test.aspx",
},
}, ["https://mytentant.sharepoint.com/.default"]),
},
});
しかし、アクセスするとすぐにsp
次のエラーが発生します。
未処理の拒否 (エラー): MsalClient.fetch に絶対 URL を指定する必要があります。
また、この MSAL ロジックにクライアント シークレットを提供するオプションがありません。
誰かが私を正しい方向に向けてくれることを願っています。前もって感謝します!