SharePoint 在线访问请求状态代码

问题描述 投票:0回答:3

我正在使用 CSOM 从“访问请求”列表中检索项目。

https://sharepointSite.sharepoint.com/sites/siteName/Access%20Requests/pendingreq.aspx

我正在尝试找出“状态”字段的所有可能值。

我发现了以下值(只是通过查看访问请求页面并与从我的代码中检索到的数据进行比较)

  • 0 = 待定
  • 2 = 接受
  • 5 = 撤回

我一直无法在网上找到对这些代码的任何参考。 谁能给我指出这些价值观的参考,或者让我知道你自己的想法?

sharepoint sharepoint-2013 csom sharepoint-online
3个回答
1
投票

好的,虽然“_ModerationStatus”值为 0..4(其中 0=Approved),这与访问请求的“状态”字段不同,后者具有我从 Microsoft.SharePoint.SPAccessRequestsUtility(公共枚举 StatusToInt),以及 accessrequestsviewtemplate.debug.js 文件(位于 15 hive,Layouts 文件夹):

  • 0=Pending(邀请过期也可能触发)
  • 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.aspx https://msdn.microsoft.com/en-us/library/jj674880(v=office.12).aspx


0
投票

状态存储在

Approval Status
字段(
Internal Name: _ModerationStatus
)指定的
Access Requests
列表

如何通过 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 - 列表项计划在未来某个日期自动批准。

0
投票

如何获取在线共享点(在 c# 或 poweshell 中)的待定访问请求选项卡中的用户列表(电子邮件)。

© www.soinside.com 2019 - 2024. All rights reserved.