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