【发布时间】:2020-12-31 11:30:49
【问题描述】:
我正在尝试将我的后端 CSOM 应用与网站集管理员服务帐户的上下文一起使用,以编程方式设置属性包值来存储我的前端扩展应用的一些设置。
我尝试了两种方法:
web.SetPropertyBagValue("name", "value");
ctx.ExecuteQuery();
和
web.AllProperties["name"] = "value";
web.Update();
ctx.ExecuteQuery();
但在这两种情况下我都会收到错误:
{"访问被拒绝。您无权执行此操作或 访问此资源。"}
网站集管理员真的无法在 SharePoint Online 中设置属性包吗?我问这个是因为我在尝试删除网站时遇到了类似的问题,在这种情况下,根据互联网上的a fewsources,此操作也只能由租户管理员完成,但我找到了一个方法:
ctx.DeleteSiteAsync()
结果证明成功删除了没有租户权限的网站。所以我希望也许这里也有一个解决方案。
【问题讨论】:
-
这是可行的。我假设您可能使用现代网站?这些默认情况下启用 noscript 并在启用时阻止任何编程访问。但是,您可以关闭 noscript,等到应用,然后更新属性包,然后禁用。我相信这实际上是作为属性“DenyAddAndCustomizePages”公开的,并且确实需要几秒钟才能完全禁用。
标签: sharepoint permissions sharepoint-online csom propertybag