0

ログインしたユーザーとは異なるユーザーを使用してリストとライブラリにアクセスする 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 ロジックにクライアント シークレットを提供するオプションがありません。

誰かが私を正しい方向に向けてくれることを願っています。前もって感謝します!

4

0 に答える 0