如何使用 CSOM 禁用 SharePoint 2013 警报

How to disable SharePoint 2013 alerts using CSOM

使用 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。我收到错误消息:“字段或 属性 'Alerts' 不存在”。这可以用 CSOM 完成吗?

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();
            }
        }