Sample code for 30+ languages & platforms
B4X

DocuSign List Folders

See more DocuSign Examples

Retrieves 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.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example assumes the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim http As ChilkatHttp
http.Initialize("http")

'  Implements the following HTTP request:
'  GET /restapi/v2.1/accounts/{accountId}/folders

'  Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
'  Load a previously obtained OAuth2 access token.
success = jsonToken.LoadFile("qa_data/tokens/docusign.json")
If success = False Then
    Log(jsonToken.LastErrorText)
    Return
End If


http.AuthToken = jsonToken.StringOf("access_token")

'  Use your account ID here:
http.SetUrlVar("accountId", "7f3f65ed-5e87-418d-94c1-92499ddc8252")

Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
success = http.QuickGetSb("https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/folders", sbResponseBody)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Log("Response Body:")
Log(jResp.Emit)

Dim respStatusCode As Int = http.LastStatus
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
    Log("Response Header:")
    Log(http.LastHeader)
    Log("Failed.")
    Return
End If


'  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



Dim name As String
Dim v_type As String
Dim ownerUserName As String
Dim ownerUserId As String
Dim ownerEmail As String
Dim folderId As String
Dim uri As String
Dim itemCount As String
Dim subFolderCount As String
Dim hasSubFolders As String

Dim resultSetSize As String = jResp.StringOf("resultSetSize")
Dim startPosition As String = jResp.StringOf("startPosition")
Dim endPosition As String = jResp.StringOf("endPosition")
Dim totalSetSize As String = jResp.StringOf("totalSetSize")
Dim i As Int = 0
Dim count_i As Int = jResp.SizeOfArray("folders")
Do While i < count_i
    jResp.I = i
    name = jResp.StringOf("folders[i].name")
    v_type = jResp.StringOf("folders[i].type")
    ownerUserName = jResp.StringOf("folders[i].owner.userName")
    ownerUserId = jResp.StringOf("folders[i].owner.userId")
    ownerEmail = jResp.StringOf("folders[i].owner.email")
    folderId = jResp.StringOf("folders[i].folderId")
    uri = jResp.StringOf("folders[i].uri")
    itemCount = jResp.StringOf("folders[i].itemCount")
    subFolderCount = jResp.StringOf("folders[i].subFolderCount")
    hasSubFolders = jResp.StringOf("folders[i].hasSubFolders")
    i = i + 1
Loop