如何在 node.js 应用程序中使用 pnp-js 从共享点获取数据?
How to use pnp-js at a node.js application to fetch data from sharepoint?
我有一个 node.js 应用程序,我正在尝试使用 PnPjs 的 AdalFetchClient 从共享点获取一些数据。
sp.setup({
sp: {
baseUrl: "https://placeholder.sharepoint.com",
fetchClientFactory: () => {
return new AdalFetchClient("tenantId", "azure_clientId", "azure_clientSecret");
},
},
});
await sp.web.getAppCatalog().get();
我得到这个错误:Error making HttpClient request in queryable [401] Unauthorized ::> {"error_description":"Invalid issuer or signature."}
我像这样设置我的 azure 活动目录应用程序的权限:
Azure App permissions
我已将所有权限授予要从中获取数据的租户:
Granted permissions to Azure App
我用的例子在这里:https://pnp.github.io/pnpjs/nodejs/adal-fetch-client/
我还尝试将 AdalFetchClient 与 graph.. 一起使用,它正在工作。只有共享点 api 似乎有问题。
我找到了解决办法。有一个 AdalCertificateFetchClient 需要以下参数:
- Tenant-ID
- Azure 应用客户端 ID
- 您的 x.509 证书的指纹
- 您的 x.509 证书的私钥
- 您要连接的共享点的根 url
所以首先你必须创建一个 x.509 证书。为此,我使用了 this tutorial。 (谢谢)
之后,您必须通过将证书安装到本地计算机并遵循 this steps
来获取指纹
最后一步是获取证书的私钥。为此,您必须为 windows 安装 openssl 并遵循 this steps
现在您可以使用 AdalCertificateFetchClient
我有一个 node.js 应用程序,我正在尝试使用 PnPjs 的 AdalFetchClient 从共享点获取一些数据。
sp.setup({
sp: {
baseUrl: "https://placeholder.sharepoint.com",
fetchClientFactory: () => {
return new AdalFetchClient("tenantId", "azure_clientId", "azure_clientSecret");
},
},
});
await sp.web.getAppCatalog().get();
我得到这个错误:Error making HttpClient request in queryable [401] Unauthorized ::> {"error_description":"Invalid issuer or signature."}
我像这样设置我的 azure 活动目录应用程序的权限: Azure App permissions
我已将所有权限授予要从中获取数据的租户: Granted permissions to Azure App
我用的例子在这里:https://pnp.github.io/pnpjs/nodejs/adal-fetch-client/ 我还尝试将 AdalFetchClient 与 graph.. 一起使用,它正在工作。只有共享点 api 似乎有问题。
我找到了解决办法。有一个 AdalCertificateFetchClient 需要以下参数:
- Tenant-ID
- Azure 应用客户端 ID
- 您的 x.509 证书的指纹
- 您的 x.509 证书的私钥
- 您要连接的共享点的根 url
所以首先你必须创建一个 x.509 证书。为此,我使用了 this tutorial。 (谢谢)
之后,您必须通过将证书安装到本地计算机并遵循 this steps
来获取指纹最后一步是获取证书的私钥。为此,您必须为 windows 安装 openssl 并遵循 this steps
现在您可以使用 AdalCertificateFetchClient