![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) SharePoint -- Create FolderSee more SharePoint ExamplesThis example shows how to create a new SharePoint folder.Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/working-with-folders-and-files-with-rest
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoHttp Variant vReq Handle hoReq Handle hoJson Boolean iBUseTls Variant vResp Handle hoResp String sTemp1 Integer iTemp1 Integer iTemp2 Move False To iSuccess // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End // If SharePoint Windows classic authentication is used, then set the // Login, Password, LoginDomain, and NtlmAuth properties. Set ComLogin Of hoHttp To "SHAREPOINT_USERNAME" Set ComPassword Of hoHttp To "SHAREPOINT_PASSWORD" Set ComLoginDomain Of hoHttp To "SHAREPOINT_NTLM_DOMAIN" Set ComNtlmAuth Of hoHttp To True // 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 Get Create (RefClass(cComChilkatHttpRequest)) To hoReq If (Not(IsComObjectCreated(hoReq))) Begin Send CreateComObject of hoReq End Set ComHttpVerb Of hoReq To "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. Set ComPath Of hoReq To "/_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 Send ComAddHeader To hoReq "X-RequestDigest" "SHAREPOINT_FORM_DIGEST" // Set the Content-Type, and indicate that a JSON response is desired. Set ComContentType Of hoReq To "application/json;odata=verbose" Send ComAddHeader To hoReq "Accept" "application/json;odata=verbose" // Create and add the JSON body. Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get ComUpdateString Of hoJson "__metadata.type" "SP.Folder" To iSuccess // If your Sharepoint site is within a site collection, then use "/sites/teamA/Documents/ChilkatTest" where "teamA" is the name of the site. Get ComUpdateString Of hoJson "ServerRelativeUrl" "/Documents/ChilkatTest" To iSuccess Get ComEmit Of hoJson To sTemp1 Get ComLoadBodyFromString Of hoReq sTemp1 "utf-8" To iSuccess // Send the POST using HTTPS (TLS). Port 443 is the default port for https. Move True To iBUseTls Get Create (RefClass(cComChilkatHttpResponse)) To hoResp If (Not(IsComObjectCreated(hoResp))) Begin Send CreateComObject of hoResp End Get pvComObject of hoReq to vReq Get pvComObject of hoResp to vResp Get ComHttpSReq Of hoHttp "SHAREPOINT_HTTPS_DOMAIN" 443 iBUseTls vReq vResp To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End // The response body contains JSON. Get ComBodyStr Of hoResp To sTemp1 Get ComLoad Of hoJson sTemp1 To iSuccess Set ComEmitCompact Of hoJson To False // The expected success response code is 201. // (Let's also check for 200, just in case things change..) Get ComStatusCode Of hoResp To iTemp1 Get ComStatusCode Of hoResp To iTemp2 If ((iTemp1 <> 200) And (iTemp2 <> 201)) Begin Get ComStatusCode Of hoResp To iTemp1 Showln "Response status code = " iTemp1 Get ComEmit Of hoJson To sTemp1 Showln sTemp1 Showln "Failed" Procedure_Return End // Show the successful JSON response. Get ComEmit Of hoJson To sTemp1 Showln sTemp1 Showln "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": "" // } // } End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.