PNP PowerShell Connect-PnpOnline with -AccessToken 未在 Azure Functions 中设置连接

PNP PowerShell Connect-PnpOnline with -AccessToken is not setting connection in Azure Functions

我有一个使用 PnpPowershell 的 Azure 函数。我想使用用户授权。因此,我创建了一项服务,该服务正在为用户从 Microsoft 获取 OAuth 令牌。然后,我将令牌提供给 Azure 函数,以使用它通过 Connect-PnpOnline.

进行连接
Connect-PnpOnline -AccessToken $token -Url $url
Apply-PnPProvisioningTemplate "Template.xml"

Connect-PnpOnline 在没有任何 errors/warnings 的情况下执行,但 Apply-PnpProvisioningTemplate 引发以下错误:当前连接没有 SharePoint 上下文。请使用使用 -Url 参数的 Connect-PnPOnline 命令之一进行连接。

我希望连接到位。我可以使用此令牌查询 MS Graph,因此我预计它是有效的。有没有人尝试过类似的东西并且知道如何解决这个问题?

找到这个:

https://docs.microsoft.com/de-de/powershell/module/sharepoint-pnp/connect-pnponline?view=sharepoint-ps

https://github.com/pnp/PnP-PowerShell/issues/2631

https://github.com/pnp/PnP-PowerShell/issues/2184

查看错误,我的理解是您必须在 Connect-PNPOnline 中使用通过 Sharepoint 应用程序(Sharepoint 插件)获得的令牌- 此命令行开关特定于共享点。

Graph 更像是多种技术的包装 - 在内部与 Sharepoint 对话。所以他们可能没有具体的 Sharepoint 上下文。

所以我的建议是使用从 Sharepoint 应用程序(Sharepoint 插件)获得的令牌 - 获取针对 sharepoint URL 的授权。 (例如:https://fabrikam.sharepoint.com/_layouts/15/OAuthAuthorize.aspx 与 Azure 应用程序不同,您将使用 login.microsoftonline.com)

注册和使用Sharepoint App的详细步骤可以参考this article