如何使用 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();
}
}
使用 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();
}
}