我正在使用
我正在使用PowerShell cmdlets
然而,一个应用程序需要读取站点的权限,所以在清单中声明了这个权限。当通过Visual Studio运行时,第一次启动时,它会正确地要求信任该应用程序以获取站点的读取权限。
当我通过PowerShell添加此应用程序时,它没有机会询问。安装继续进行,但是然后应用程序不起作用。(它因权限问题而失败,这绝对是正确的行为,因为尚未授予权限。)
我可以通过转到网站内容,单击有问题的应用程序的'...',选择'Permissions',然后单击'If there's something wrong with the app's permissions, click here to trust it again'.链接来修复权限。
但我真的希望能够通过PowerShell完成整个部署。
应用程序主体的名称采用'i:0i.t|ms.sp.int|@'的形式,并且列在/_layouts/15/appprincipals.aspx上。当我使用
Import-SPAppPackage
和Install-SPApp
部署应用程序。我想使用Set-AppPrincipalPermission
设置权限,但我无法让它正常工作。我正在使用PowerShell cmdlets
Import-SPAppPackage
和Install-SPApp
将SharePoint托管的应用程序上传到SharePoint。对于不需要额外权限的SharePoint托管应用程序,这很好用。然而,一个应用程序需要读取站点的权限,所以在清单中声明了这个权限。当通过Visual Studio运行时,第一次启动时,它会正确地要求信任该应用程序以获取站点的读取权限。
当我通过PowerShell添加此应用程序时,它没有机会询问。安装继续进行,但是然后应用程序不起作用。(它因权限问题而失败,这绝对是正确的行为,因为尚未授予权限。)
我可以通过转到网站内容,单击有问题的应用程序的'...',选择'Permissions',然后单击'If there's something wrong with the app's permissions, click here to trust it again'.链接来修复权限。
但我真的希望能够通过PowerShell完成整个部署。
Set-AppPrincipalPermission
cmdlet 应该允许我设置权限,但我无法使其正常工作。具体来说,我无法获得在部署应用程序时自动创建的应用程序主体的句柄,因此我无法将此应用程序主体传递给Set-AppPrincipalPermission
。应用程序主体的名称采用'i:0i.t|ms.sp.int|@'的形式,并且列在/_layouts/15/appprincipals.aspx上。当我使用
Get-SPAppPrincipal
与它一起使用时,我得到的是:Get-SPAppPrincipal : The app principal could not be found.
我没有看到任何有关在SharePoint托管应用中使用Get-SPAppPrincipal
的示例 - 它们似乎都是针对提供程序托管应用的。它们似乎只是使用从客户端ID和域ID构建的应用程序主体ID,但我的SharePoint托管应用程序没有客户端ID。
是否可以获取SharePoint托管应用程序的应用程序主体,并使用它通过PowerShell设置权限? 我是否做错了什么,或者是否有其他方法?