0

我正在尝试将我的后端 CSOM 应用程序与网站集管理员服务帐户的上下文一起使用,以编程方式设置属性包值来存储我的前端扩展应用程序的一些设置。

我尝试过两种方式:

web.SetPropertyBagValue("name", "value");
ctx.ExecuteQuery();

web.AllProperties["name"] = "value";
web.Update();
ctx.ExecuteQuery();

但在这两种情况下,我都会收到错误消息:

{“拒绝访问。您无权执行此操作或访问此资源。”}

网站集管理员真的无法在 SharePoint Online 中设置属性包吗?我问这个是因为我在尝试删除站点时遇到了类似的问题,在这种情况下,根据Internet 上的一些 消息来源,此操作也只能由租户管理员完成,但我找到了一种方法:

ctx.DeleteSiteAsync()

结果是成功删除了没有租户权限的站点。所以我希望也许这里也有一个解决方案。

4

1 回答 1

0

@Mariusz Ignatowicz

只需在我的 SPO 现代网站中测试您的代码,它在这里工作正常:

在此处输入图像描述

然后我DenyAddAndCustomizePages按照@m1g 的建议启用,它会提示“访问被拒绝。你没有权限......”

Connect-SPOService -Url https://[tenant]-admin.sharepoint.com -credential admin@tenant.onmicrosoft.com

Get-SPOSite -Identity https://[tenant].sharepoint.com/sites/comm|select DenyAddAndCustomizePages
### o is disable, 1 is enable
Set-SPOSite -Identity https://[tenant].sharepoint.com/sites/comm -DenyAddAndCustomizePages 1  

所以我认为你需要先关闭DenyAddAndCustomizePages它,然后它应该被修复。

BR

于 2020-12-31T03:30:49.117 回答