我目前正在尝试开发一个流程,该流程将创建一个SharePoint网站,然后利用Azure功能为该网站提供选择的库等。
Flow本身很简单,但是我苦苦挣扎的是Azure Function本身,尤其是身份验证;它使用Connect-PnPOnline
cmdlet,而我们的租户使用MFA时却遇到了一些困难-我创建了一个服务主体用户,这至少使我能够连接到该站点,但是我仍然不能真正使用Apply-PnPProvisioningTemplate
,也不能真正使用任何其他PnP命令-当我尝试这样做时,我得到:
“远程服务器返回错误:(403)禁止。”
我的服务主体用户具有Contribute权限,并且具有Sites.FullControl.All的范围,所以我不确定我要去哪里。
请参阅下面的Powershell代码-我认为问题并非真正出自那里,但显示出来不会有任何伤害:
$requestBody = Get-Content $req -Raw | ConvertFrom-Json
"destination": "SharePointSiteURL"
$destination = $requestBody.destination
$secpasswd = ConvertTo-SecureString $env:pass -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ($env:user, $secpasswd)
Connect-PnPOnline -url $destination -AppID $env:user -AppSecret $env:pass
Apply-PnPProvisioningTemplate -path "D:\home\site\wwwroot\template.xml"
Out-File -Encoding Ascii -FilePath $res -inputObject "Done $destination"
我应该注意,这实际上是我第一次使用Azure Functions,因此如果此处的解决方案非常简单,请原谅!任何帮助将不胜感激。
答案 0 :(得分:0)