Swift
Swift
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 Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = CkoHttp()!
// Implements the following HTTP request:
// GET /restapi/v2.1/accounts/{accountId}/folders
// Adds the "Authorization: Bearer eyJ0eXAi.....UE8Kl_V8KroQ" header.
let jsonToken = CkoJsonObject()!
// Load a previously obtained OAuth2 access token.
success = jsonToken.loadFile(path: "qa_data/tokens/docusign.json")
if success == false {
print("\(jsonToken.lastErrorText!)")
return
}
http.authToken = jsonToken.string(of: "access_token")
// Use your account ID here:
http.setUrlVar(name: "accountId", value: "7f3f65ed-5e87-418d-94c1-92499ddc8252")
let sbResponseBody = CkoStringBuilder()!
success = http.quickGetSb(url: "https://demo.docusign.net/restapi/v2.1/accounts/{$accountId}/folders", sbContent: sbResponseBody)
if success == false {
print("\(http.lastErrorText!)")
return
}
let jResp = CkoJsonObject()!
jResp.loadSb(sb: sbResponseBody)
jResp.emitCompact = false
print("Response Body:")
print("\(jResp.emit()!)")
var respStatusCode: Int = http.lastStatus.intValue
print("Response Status Code = \(respStatusCode)")
if respStatusCode >= 400 {
print("Response Header:")
print("\(http.lastHeader!)")
print("Failed.")
return
}
// 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
var name: String?
var v_type: String?
var ownerUserName: String?
var ownerUserId: String?
var ownerEmail: String?
var folderId: String?
var uri: String?
var itemCount: String?
var subFolderCount: String?
var hasSubFolders: String?
var resultSetSize: String? = jResp.string(of: "resultSetSize")
var startPosition: String? = jResp.string(of: "startPosition")
var endPosition: String? = jResp.string(of: "endPosition")
var totalSetSize: String? = jResp.string(of: "totalSetSize")
var i: Int = 0
var count_i: Int = jResp.size(ofArray: "folders").intValue
while i < count_i {
jResp.i = i
name = jResp.string(of: "folders[i].name")
v_type = jResp.string(of: "folders[i].type")
ownerUserName = jResp.string(of: "folders[i].owner.userName")
ownerUserId = jResp.string(of: "folders[i].owner.userId")
ownerEmail = jResp.string(of: "folders[i].owner.email")
folderId = jResp.string(of: "folders[i].folderId")
uri = jResp.string(of: "folders[i].uri")
itemCount = jResp.string(of: "folders[i].itemCount")
subFolderCount = jResp.string(of: "folders[i].subFolderCount")
hasSubFolders = jResp.string(of: "folders[i].hasSubFolders")
i = i + 1
}
}