如何使用 JSOM 在根网站集的 属性 包中设置 属性?

How to set property in property bag on root site collection using JSOM?

我正在尝试 update/create 属性 在 PropertyBag 中。 它在经典体验(开发人员站点和文档中心)上运行良好,但不允许应用程序在现代站点集(根站点、通信站点和团队站点)上启动,并且它没有在 PropertyBag 中设置 属性。

当我在安装后尝试 运行 应用程序根网站集时抛出此错误

Access denied. You do not have permission to perform this action or access this resource.

请告诉我如何在 属性 包中为根站点、通信站点和团队站点设置 属性。

代码:

 var context = SP.ClientContext.get_current();
        var web = LawApp.Repositories.getWeb(context, hostUrl);
        var props = web.get_allProperties();

        props.set_item("CurrentVersion", 2002);
        web.update();
        context.executeQueryAsync(success, fail);

我通过将“CurrentVersion”的值更改为字符串来解决它,因为 属性 包不采用整数值。 您也可以查看此 link。 https://sharepoint.stackexchange.com/questions/171244/setting-propertybag-values-in-sharepoint-online/171247