如何使用CSOM禁用SharePoint 2013警报

如何使用CSOM禁用SharePoint 2013警报,sharepoint,csom,alerts,Sharepoint,Csom,Alerts,使用CSOM,我可以检索SharePoint Online站点的警报集合,并使用以下代码禁用每个警报: context.Load(context.Web.Alerts, collection => collection.Include( alert => alert.ID, alert

使用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来完成吗?

问题与

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内部部署CSOM不支持警报