Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) SharePoint -- Create FolderSee more SharePoint ExamplesThis example shows how to create a new SharePoint folder. For more information, see https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/working-with-folders-and-files-with-rest
LOCAL loHttp LOCAL loReq LOCAL loJson LOCAL lnBUseTls LOCAL loResp * This requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * If SharePoint Windows classic authentication is used, then set the * Login, Password, LoginDomain, and NtlmAuth properties. loHttp.Login = "SHAREPOINT_USERNAME" loHttp.Password = "SHAREPOINT_PASSWORD" loHttp.LoginDomain = "SHAREPOINT_NTLM_DOMAIN" loHttp.NtlmAuth = 1 * The more common case is to use SharePoint Online authentication (via the SPOIDCRL cookie). * If so, do not set Login, Password, LoginDomain, and NtlmAuth, and instead * establish the cookie as shown at SharePoint Online Authentication * To create a folder, we're going to POST to * https://SHAREPOINT_HTTPS_DOMAIN/_api/web/folders * with a request body containing the following JSON: * * { "__metadata": { "type": "SP.Folder" }, "ServerRelativeUrl": "/document_library_relative_url/newFolderName"} * This example will create a folder named ChilkatTest in /Documents * Note: if your Sharepoint site is within a site collection, you must add the site name "/sites/teamA" to both the Path and the ServerRelativeUrl * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.HttpRequest') loReq = CreateObject('Chilkat.HttpRequest') loReq.HttpVerb = "POST" * If your Sharepoint site is within a site collection, then use "/sites/teamA/_api/web/folders" where "teamA" is the name of the site. loReq.Path = "/_api/web/folders" * We need to add a form digest value in the X-RequestDigest header field. * See this example for details on * how to get (and cache) a form digest value loReq.AddHeader("X-RequestDigest","SHAREPOINT_FORM_DIGEST") * Set the Content-Type, and indicate that a JSON response is desired. loReq.ContentType = "application/json;odata=verbose" loReq.AddHeader("Accept","application/json;odata=verbose") * Create and add the JSON body. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') loJson.UpdateString("__metadata.type","SP.Folder") * If your Sharepoint site is within a site collection, then use "/sites/teamA/Documents/ChilkatTest" where "teamA" is the name of the site. loJson.UpdateString("ServerRelativeUrl","/Documents/ChilkatTest") loReq.LoadBodyFromString(loJson.Emit(),"utf-8") * Send the POST using HTTPS (TLS). Port 443 is the default port for https. lnBUseTls = 1 loResp = loHttp.SynchronousRequest("SHAREPOINT_HTTPS_DOMAIN",443,lnBUseTls,loReq) IF (loHttp.LastMethodSuccess <> 1) THEN ? loHttp.LastErrorText RELEASE loHttp RELEASE loReq RELEASE loJson CANCEL ENDIF * The response body contains JSON. loJson.Load(loResp.BodyStr) loJson.EmitCompact = 0 * The expected success response code is 201. * (Let's also check for 200, just in case things change..) IF ((loResp.StatusCode <> 200) AND (loResp.StatusCode <> 201)) THEN ? "Response status code = " + STR(loResp.StatusCode) ? loJson.Emit() ? "Failed" RELEASE loResp RELEASE loHttp RELEASE loReq RELEASE loJson CANCEL ENDIF RELEASE loResp * Show the successful JSON response. ? loJson.Emit() ? "Success." * A successful JSON response looks like this: * { * "d": { * "__metadata": { * "id": "Web/GetFolderByServerRelativeUrl('/Documents/ChilkatTest')", * "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFolderByServerRelativeUrl('/Documents/ChilkatTest')", * "type": "SP.Folder" * }, * "Files": { * "__deferred": { * "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFolderByServerRelativeUrl('/Documents/ChilkatTest')/Files" * } * }, * "ListItemAllFields": { * "__deferred": { * "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFolderByServerRelativeUrl('/Documents/ChilkatTest')/ListItemAllFields" * } * }, * "ParentFolder": { * "__deferred": { * "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFolderByServerRelativeUrl('/Documents/ChilkatTest')/ParentFolder" * } * }, * "Properties": { * "__deferred": { * "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFolderByServerRelativeUrl('/Documents/ChilkatTest')/Properties" * } * }, * "Folders": { * "__deferred": { * "uri": "https://SHAREPOINT_HTTPS_DOMAIN/_api/Web/GetFolderByServerRelativeUrl('/Documents/ChilkatTest')/Folders" * } * }, * "ItemCount": 0, * "Name": "ChilkatTest", * "ServerRelativeUrl": "/Documents/ChilkatTest", * "WelcomePage": "" * } * } RELEASE loHttp RELEASE loReq RELEASE loJson |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.