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
(PureBasic) DocuSign List FoldersSee more DocuSign ExamplesRetrieves a list of the folders for the account, including the folder hierarchy. You can specify type kinds of folders to return with the include query parameter. For more information, see https://developers.docusign.com/docs/esign-rest-api/reference/folders/folders/list/
IncludeFile "CkHttp.pb" IncludeFile "CkStringBuilder.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i ; Implements the following HTTP request: ; GET /restapi/v2.1/accounts/{accountId}/folders ; Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header. jsonToken.i = CkJsonObject::ckCreate() If jsonToken.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Load a previously obtained OAuth2 access token. success = CkJsonObject::ckLoadFile(jsonToken,"qa_data/tokens/docusign.json") If success = 0 Debug CkJsonObject::ckLastErrorText(jsonToken) CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) ProcedureReturn EndIf CkHttp::setCkAuthToken(http, CkJsonObject::ckStringOf(jsonToken,"access_token")) ; Use your account ID here: CkHttp::ckSetUrlVar(http,"accountId","7f3f65ed-5e87-418d-94c1-92499ddc8252") sbResponseBody.i = CkStringBuilder::ckCreate() If sbResponseBody.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkHttp::ckQuickGetSb(http,"https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/folders",sbResponseBody) If success = 0 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) CkStringBuilder::ckDispose(sbResponseBody) ProcedureReturn EndIf jResp.i = CkJsonObject::ckCreate() If jResp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckLoadSb(jResp,sbResponseBody) CkJsonObject::setCkEmitCompact(jResp, 0) Debug "Response Body:" Debug CkJsonObject::ckEmit(jResp) respStatusCode.i = CkHttp::ckLastStatus(http) Debug "Response Status Code = " + Str(respStatusCode) If respStatusCode >= 400 Debug "Response Header:" Debug CkHttp::ckLastHeader(http) Debug "Failed." CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) CkStringBuilder::ckDispose(sbResponseBody) CkJsonObject::ckDispose(jResp) ProcedureReturn EndIf ; Sample JSON response: ; (Sample code for parsing the JSON response is shown below) ; { ; "resultSetSize": "4", ; "startPosition": "0", ; "endPosition": "3", ; "totalSetSize": "4", ; "folders": [ ; { ; "name": "Draft", ; "type": "draft", ; "owner": { ; "userName": "Joe Sample", ; "userId": "14602117-2430-4582-8a49-ba8766302272", ; "email": "admin@chilkatsoft.com" ; }, ; "folderId": "f0bc5174-610d-4d80-80d7-91037843ccdb", ; "uri": "/folders/f0bc5174-610d-4d80-80d7-91037843ccdb", ; "itemCount": "0", ; "subFolderCount": "0", ; "hasSubFolders": "false" ; }, ; { ; "name": "Inbox", ; "type": "inbox", ; "owner": { ; "userName": "Joe Sample", ; "userId": "14602117-2430-4582-8a49-ba8766302272", ; "email": "admin@chilkatsoft.com" ; }, ; "folderId": "06c97346-f7b4-46fd-a204-038287d655ec", ; "uri": "/folders/06c97346-f7b4-46fd-a204-038287d655ec", ; "itemCount": "1", ; "subFolderCount": "0", ; "hasSubFolders": "false" ; }, ; { ; "name": "Deleted Items", ; "type": "recyclebin", ; "owner": { ; "userName": "Joe Sample", ; "userId": "14602117-2430-4582-8a49-ba8766302272", ; "email": "admin@chilkatsoft.com" ; }, ; "folderId": "6df0919e-b152-49fc-a4c9-9b430a29d4f5", ; "uri": "/folders/6df0919e-b152-49fc-a4c9-9b430a29d4f5", ; "itemCount": "0", ; "subFolderCount": "0", ; "hasSubFolders": "false" ; }, ; { ; "name": "Sent Items", ; "type": "sentitems", ; "owner": { ; "userName": "Joe Sample", ; "userId": "14602117-2430-4582-8a49-ba8766302272", ; "email": "admin@chilkatsoft.com" ; }, ; "folderId": "456f3c76-b265-4453-a024-c39b1a5cb387", ; "uri": "/folders/456f3c76-b265-4453-a024-c39b1a5cb387", ; "itemCount": "1", ; "subFolderCount": "0", ; "hasSubFolders": "false" ; } ; ] ; } ; Sample code for parsing the JSON response... ; Use the following online tool to generate parsing code from sample JSON: ; Generate Parsing Code from JSON name.s v_type.s ownerUserName.s ownerUserId.s ownerEmail.s folderId.s uri.s itemCount.s subFolderCount.s hasSubFolders.s resultSetSize.s = CkJsonObject::ckStringOf(jResp,"resultSetSize") startPosition.s = CkJsonObject::ckStringOf(jResp,"startPosition") endPosition.s = CkJsonObject::ckStringOf(jResp,"endPosition") totalSetSize.s = CkJsonObject::ckStringOf(jResp,"totalSetSize") i.i = 0 count_i.i = CkJsonObject::ckSizeOfArray(jResp,"folders") While i < count_i CkJsonObject::setCkI(jResp, i) name = CkJsonObject::ckStringOf(jResp,"folders[i].name") v_type = CkJsonObject::ckStringOf(jResp,"folders[i].type") ownerUserName = CkJsonObject::ckStringOf(jResp,"folders[i].owner.userName") ownerUserId = CkJsonObject::ckStringOf(jResp,"folders[i].owner.userId") ownerEmail = CkJsonObject::ckStringOf(jResp,"folders[i].owner.email") folderId = CkJsonObject::ckStringOf(jResp,"folders[i].folderId") uri = CkJsonObject::ckStringOf(jResp,"folders[i].uri") itemCount = CkJsonObject::ckStringOf(jResp,"folders[i].itemCount") subFolderCount = CkJsonObject::ckStringOf(jResp,"folders[i].subFolderCount") hasSubFolders = CkJsonObject::ckStringOf(jResp,"folders[i].hasSubFolders") i = i + 1 Wend CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonToken) CkStringBuilder::ckDispose(sbResponseBody) CkJsonObject::ckDispose(jResp) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.