我正在使用CSOM从"访问请求"列表中检索项目。
(https://sharepointSite.sharepoint.com/sites/siteName/Access%20Requests/pendingreq.aspx)
我正在尝试找出"状态"字段的所有可能值。
我找到了以下值(仅通过查看访问请求页面并与从我的代码中检索到的数据进行比较)
- 0 = 挂起
- 2 = 已接受
- 5 = 已撤回
我无法在网上找到对这些代码的任何引用。谁能指出我这些价值观的参考,或者让我知道你自己认为我们是什么?
虽然"_ModerationStatus"值为0..4(其中0=已批准),但这与访问请求的"状态"字段不同,该字段具有我从Microsoft.SharePoint.SPAccessRequestsUtility(公共枚举StatusToInt)以及accessrequestsviewtemplate.debug.js文件(位于15个配置单元,布局文件夹中)获得的值:
- 0=待处理(邀请也可能触发过期)
- 1=已批准
- 2=已接受
- 3=已拒绝
- 4=已过期
- 5=已吊销
我从powershell点击该领域并获得SchemaXml属性,逆向工程代码以及此MS链接中获得了这一点:https://msdn.microsoft.com/en-us/library/jj675013(v=office.12).aspx还可以根据需要查看这些链接:https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spaccessrequests.changerequeststatus.aspxhttps://msdn.microsoft.com/en-us/library/jj674880(v=office.12).aspx
状态存储在指定Access Requests
列表的Approval Status
字段 ( Internal Name: _ModerationStatus
) 中
如何通过 CSOM 检索_ModerationStatus
字段的值
var listTitle = "Access Requests";
var fieldName = "_ModerationStatus";
var list = ctx.Web.Lists.GetByTitle(listTitle);
var field = list.Fields.GetByInternalNameOrTitle(fieldName);
ctx.Load(field);
ctx.ExecuteQuery();
var fieldChoice = ctx.CastTo<FieldChoice>(field);
var values = fieldChoice.Choices;
foreach (var value in values)
{
Console.WriteLine(value);
}
关于审核状态字段
根据 2.2.1.2.13 审核状态,以下是审核状态的所有可能有效值:
- 0 - 列表项已批准。
- 1 - 列表项被拒绝批准。
- 2 - 列表项正在等待审批。
- 3 - 列表项处于草稿或签出状态。
- 4 - 列表项计划在将来的某个日期自动审批。