Copy a file or folder to a different location in the user's Dropbox. If the source path is a folder all its contents will be copied.
curl -X POST https://api.dropboxapi.com/2/files/copy_v2 \
--header "Authorization: Bearer DROPBOX-ACCESS-TOKEN" \
--header "Content-Type: application/json" \
--data "{\"from_path\": \"/ocean/starfish.jpg\",\"to_path\": \"/ocean/starfish2.jpg\",\"allow_shared_folder\": false,\"autorename\": false,\"allow_ownership_transfer\": false}"
func chilkatTest() {
let rest = CkoRest()
var success: Bool
// URL: https://api.dropboxapi.com/2/files/copy_v2
var bTls: Bool = true
var port: Int = 443
var bAutoReconnect: Bool = true
success = rest.Connect("api.dropboxapi.com", port: port, tls: bTls, autoReconnect: bAutoReconnect)
if success != true {
print("ConnectFailReason: \(rest.ConnectFailReason.intValue)")
print("\(rest.LastErrorText)")
return
}
// See the Online Tool for Generating JSON Creation Code
let json = CkoJsonObject()
json.UpdateString("from_path", value: "/ocean/starfish.jpg")
json.UpdateString("to_path", value: "/ocean/starfish2.jpg")
json.UpdateBool("allow_shared_folder", value: false)
json.UpdateBool("autorename", value: false)
json.UpdateBool("allow_ownership_transfer", value: false)
rest.AddHeader("Authorization", value: "Bearer DROPBOX-ACCESS-TOKEN")
rest.AddHeader("Content-Type", value: "application/json")
let sbRequestBody = CkoStringBuilder()
json.EmitSb(sbRequestBody)
let sbResponseBody = CkoStringBuilder()
success = rest.FullRequestSb("POST", uriPath: "/2/files/copy_v2", requestBody: sbRequestBody, responseBody: sbResponseBody)
if success != true {
print("\(rest.LastErrorText)")
return
}
var respStatusCode: Int = rest.ResponseStatusCode.intValue
if respStatusCode >= 400 {
print("Response Status Code = \(respStatusCode)")
print("Response Header:")
print("\(rest.ResponseHeader)")
print("Response Body:")
print("\(sbResponseBody.GetAsString())")
return
}
let jsonResponse = CkoJsonObject()
jsonResponse.LoadSb(sbResponseBody)
// See the Online Tool for Generating JSON Parse Code
var metadataTag: String? = jsonResponse.StringOf("metadata.\".tag\"")
var metadataName: String? = jsonResponse.StringOf("metadata.name")
var metadataPath_lower: String? = jsonResponse.StringOf("metadata.path_lower")
var metadataPath_display: String? = jsonResponse.StringOf("metadata.path_display")
var metadataId: String? = jsonResponse.StringOf("metadata.id")
var metadataClient_modified: String? = jsonResponse.StringOf("metadata.client_modified")
var metadataServer_modified: String? = jsonResponse.StringOf("metadata.server_modified")
var metadataRev: String? = jsonResponse.StringOf("metadata.rev")
var metadataSize: Int = jsonResponse.IntOf("metadata.size").intValue
var metadataContent_hash: String? = jsonResponse.StringOf("metadata.content_hash")
}
{
"metadata": {
".tag": "file",
"name": "starfish2.jpg",
"path_lower": "/ocean/starfish2.jpg",
"path_display": "/ocean/starfish2.jpg",
"id": "id:JSXYsxHo1hAAAAAAAAAADg",
"client_modified": "2018-10-22T22:38:18Z",
"server_modified": "2018-10-22T22:40:38Z",
"rev": "1c482db15f",
"size": 6229,
"content_hash": "9fa9d692d0762ee759c22dea993c7de0068f9ba2ca842e761a1636d3b0b3cbba"
}
}