簡體   English   中英

在 Sharepoint Online 中創建文件夾並更新標題和自定義字段

[英]Create Folder and Update Title and Custom Field in Sharepoint Online

我嘗試根據一些教程在 sharepoint 在線創建文件夾。 問題出現是因為創建文件夾沒有給出“標題”列值。

我想創建文件夾並更新“標題”列。

這是創建文件夾的代碼

public string CreateDocumentLibrary(string siteUrl, string relativePath)
    {
        //bool responseResult = false;
        string resultUpdate = string.Empty;
        string responseResult = string.Empty;
        if (siteUrl != _siteUrl)
        {
            _siteUrl = siteUrl;
            Uri spSite = new Uri(siteUrl);

            _spo = SpoAuthUtility.Create(spSite, _username, WebUtility.HtmlEncode(_password), false);
        }

        string odataQuery = "_api/web/folders";

        byte[] content = ASCIIEncoding.ASCII.GetBytes(@"{ '__metadata': { 'type': 'SP.Folder' }, 'ServerRelativeUrl': '" + relativePath + "'}");

        string digest = _spo.GetRequestDigest();

        Uri url = new Uri(String.Format("{0}/{1}", _spo.SiteUrl, odataQuery));
        // Set X-RequestDigest
        var webRequest = (HttpWebRequest)HttpWebRequest.Create(url);
        webRequest.Headers.Add("X-RequestDigest", digest);

        // Send a json odata request to SPO rest services to fetch all list items for the list.
        byte[] result = HttpHelper.SendODataJsonRequest(
          url,
          "POST", // reading data from SP through the rest api usually uses the GET verb 
          content,
          webRequest,
          _spo // pass in the helper object that allows us to make authenticated calls to SPO rest services
          );

        string response = Encoding.UTF8.GetString(result, 0, result.Length);

        if (response != null)
        {
            //responseResult = true;
            responseResult = response;
        }
        return responseResult;
    }

我已經嘗試使用 CAML,但是,問題是共享點列表很大,因此出現與限制 tresshold 相關的禁止訪問錯誤。

請幫忙。

請參考以下代碼更新文件夾名稱。

function renameFolder(webUrl,listTitle,itemId,name)
{
     var itemUrl =  webUrl + "/_api/Web/Lists/GetByTitle('" + listTitle + "')/Items(" + itemId + ")";
     var itemPayload = {};
     itemPayload['__metadata'] = {'type': getItemTypeForListName(listTitle)};
     itemPayload['Title'] = name;
     itemPayload['FileLeafRef'] = name;
     var additionalHeaders = {};
     additionalHeaders["X-HTTP-Method"] = "MERGE";
     additionalHeaders["If-Match"] =  "*";
     return executeJson(itemUrl,"POST",additionalHeaders,itemPayload);
}


function getItemTypeForListName(name) {
   return"SP.Data." + name.charAt(0).toUpperCase() + name.slice(1) + "ListItem";
}

暫無
暫無

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

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