Ruby
Ruby
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 Ruby Downloads
require 'chilkat'
success = false
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
http = Chilkat::CkHttp.new()
# Implements the following HTTP request:
# GET /restapi/v2.1/accounts/{accountId}/folders
# Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
jsonToken = Chilkat::CkJsonObject.new()
# Load a previously obtained OAuth2 access token.
success = jsonToken.LoadFile("qa_data/tokens/docusign.json")
if (success == false)
print jsonToken.lastErrorText() + "\n";
exit
end
http.put_AuthToken(jsonToken.stringOf("access_token"))
# Use your account ID here:
http.SetUrlVar("accountId","7f3f65ed-5e87-418d-94c1-92499ddc8252")
sbResponseBody = Chilkat::CkStringBuilder.new()
success = http.QuickGetSb("https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/folders",sbResponseBody)
if (success == false)
print http.lastErrorText() + "\n";
exit
end
jResp = Chilkat::CkJsonObject.new()
jResp.LoadSb(sbResponseBody)
jResp.put_EmitCompact(false)
print "Response Body:" + "\n";
print jResp.emit() + "\n";
respStatusCode = http.get_LastStatus()
print "Response Status Code = " + respStatusCode.to_s() + "\n";
if (respStatusCode >= 400)
print "Response Header:" + "\n";
print http.lastHeader() + "\n";
print "Failed." + "\n";
exit
end
# 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
resultSetSize = jResp.stringOf("resultSetSize")
startPosition = jResp.stringOf("startPosition")
endPosition = jResp.stringOf("endPosition")
totalSetSize = jResp.stringOf("totalSetSize")
i = 0
count_i = jResp.SizeOfArray("folders")
while i < count_i
jResp.put_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
end