簡體   English   中英

如何使用CSOM獲得分配批准項目?

[英]How to get Assignment Approvals Items using CSOM?

目前我正在開發一個應用程序,以更簡單的方式訪問我公司的Sharepoint站點。 我的應用程序功能之一是訪問Approvals Item(或在我的研究中定義為_moderationStatus)。

我做了很多研究來完成這件事,但我發現從List獲得Approvals(_moderationStatus)。 同時我真正需要的是從分配/任務中獲得批准。 有沒有辦法實現這個目標?

這里我發現的代碼與我想要的(我認為)有最密切的關系

this.oListItemUpdate = oList.getItemById(listID);

var wrkFlwApproval = this.oListItem.get_item(‘_ModerationStatus’);
if(wrkFlwApproval == 0)
{
  this.oListItemUpdate.set_item(‘_ModerationStatus’, 0 );    
}

public enum SPModerationStatusType
{
  Approved, //0
  Denied,   //1
  Pending,  //2
  Draft,    //3
  Scheduled //4
}

如果我可以在sharepoint List中獲取TaskList,我可以使用該代碼,但我找不到它們。 如果有任何其他解決方案,那將是偉大的。

以下CSOM代碼供您參考。

ClientContext ctx = new ClientContext("http://sp2013");
ctx.Credentials = new NetworkCredential("username", "password", "domain");
CamlQuery camlQuery = new CamlQuery();
List list = ctx.Web.Lists.GetByTitle("Tasks");
ListItemCollection listItems = list.GetItems(camlQuery);
ctx.Load(listItems);
ctx.ExecuteQuery();

foreach (var listItem in listItems)
{
    string status = "";
    string mStatus = listItem["_ModerationStatus"].ToString();
    if (mStatus == "0")
    {
        status = "Approved";
    }
    else if (mStatus == "1")
    {
        status = "Denied";
    }
    else if (mStatus == "2")
    {
        status = "Pending";
    }
    else if (mStatus == "3")
    {
        status = "Draft";
    }
    else if (mStatus == "4")
    {
        status = "Scheduled";
    }
    Console.WriteLine("Title: " + listItem["Title"] + " Approval Status:" + status);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM