我正在尝试构建一个 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 逻辑中提供客户端密码的任何选项。
我希望有人能指出我正确的方向。提前致谢!