如何使用 CSOM 禁用 SharePoint 2013 警报

Posted

技术标签:

【中文标题】如何使用 CSOM 禁用 SharePoint 2013 警报【英文标题】:How to disable SharePoint 2013 alerts using CSOM 【发布时间】:2020-11-12 16:35:58 【问题描述】:

使用 CSOM,我能够检索 SharePoint Online 网站的警报集合,并使用以下代码禁用每个警报:

                    context.Load(context.Web.Alerts,
                        collection => collection.Include(
                            alert => alert.ID,
                            alert => alert.Status));
                    context.ExecuteQueryWithRetry();

                    foreach (SP.Alert alert in context.Web.Alerts)
                    
                        if (alert.Status == AlertStatus.On)
                        
                            context.Load(alert);
                            alert.Status = AlertStatus.Off;
                            alert.UpdateAlert();
                        
                    
                    context.ExecuteQueryWithRetry();

但这不适用于 SharePoint 2013。我收到错误消息:“字段或属性‘警报’不存在”。这可以通过 CSOM 完成吗?

【问题讨论】:

【参考方案1】:

与How to disable SharePoint 2013 alerts using CSOM相同的问题

SharePoint 2013 本地 CSOM Web 对象不支持警报属性。

请改用下面的 SharePoint Server 对象模型:

        using (SPSite site=new SPSite("http://sp/sites/MyDev"))
        
            SPWeb web = site.OpenWeb();
            SPAlertCollection alerts = web.Alerts;
            foreach (SPAlert alert in alerts)
            
                alert.Status = SPAlertStatus.Off;
                alert.Update();
                web.Update();
            
        

【讨论】:

是的,因为 SharePoint 2013 On-Premise CSOM 不支持警报social.msdn.microsoft.com/Forums/office/en-US/…

以上是关于如何使用 CSOM 禁用 SharePoint 2013 警报的主要内容,如果未能解决你的问题,请参考以下文章

从 Sharepoint 列表中获取所有项目,包括使用 CSOM 的查找值

csharp 使用CSOM创建Sharepoint Wiki页面

在 .Net Core 应用程序中使用 SharePoint CSOM

Sharepoint Online 使用 C# / CSOM 更改 WebPart 视图查询

将自定义 Web 部件添加到页面 SharePoint 2013 c# csom

使用 CSOM 进行初始部署后,将 SharePoint 列表 Web 部件添加到特定页面