PowerBuilder Dropbox: Dropbox Delete a File

Back to Index

Deletes a file on Dropbox

Documentation: https://www.dropbox.com/developers/documentation/http/documentation#files-delete

CURL Command

curl -X POST https://api.dropboxapi.com/2/files/delete_v2 \
    --header "Authorization: Bearer DROPBOX-ACCESS-TOKEN" \
    --header "Content-Type: application/json" \
    --data "{\"path\": \"/Homework/math/Prime_Numbers.txt\"}"

PowerBuilder Example

integer li_rc
oleobject loo_Rest
integer li_Success
integer li_BTls
integer li_Port
integer li_BAutoReconnect
oleobject loo_Json
oleobject loo_SbRequestBody
oleobject loo_SbResponseBody
integer li_RespStatusCode
oleobject loo_JsonResponse
integer i
integer li_Count_i
integer j
integer li_Count_j
string ls_MetadataTag
string ls_MetadataName
string ls_MetadataId
string ls_MetadataClient_modified
string ls_MetadataServer_modified
string ls_MetadataRev
integer li_MetadataSize
string ls_MetadataPath_lower
string ls_MetadataPath_display
integer li_MetadataSharing_infoRead_only
string ls_MetadataSharing_infoParent_shared_folder_id
string ls_MetadataSharing_infoModified_by
integer li_MetadataHas_explicit_shared_members
string ls_MetadataContent_hash
string ls_Template_id
string ls_Name
string ls_Value

loo_Rest = create oleobject
li_rc = loo_Rest.ConnectToNewObject("Chilkat_9_5_0.Rest")
if li_rc < 0 then
    destroy loo_Rest
    MessageBox("Error","Connecting to COM object failed")
    return
end if

//  URL: https://api.dropboxapi.com/2/files/delete_v2
li_BTls = 1
li_Port = 443
li_BAutoReconnect = 1
li_Success = loo_Rest.Connect("api.dropboxapi.com",li_Port,li_BTls,li_BAutoReconnect)
if li_Success <> 1 then
    Write-Debug "ConnectFailReason: " + string(loo_Rest.ConnectFailReason)
    Write-Debug loo_Rest.LastErrorText
    destroy loo_Rest
    return
end if

//  See the Online Tool for Generating JSON Creation Code
loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat_9_5_0.JsonObject")

loo_Json.UpdateString("path","/Homework/math/Prime_Numbers.txt")

loo_Rest.AddHeader("Authorization","Bearer DROPBOX-ACCESS-TOKEN")
loo_Rest.AddHeader("Content-Type","application/json")

loo_SbRequestBody = create oleobject
li_rc = loo_SbRequestBody.ConnectToNewObject("Chilkat_9_5_0.StringBuilder")

loo_Json.EmitSb(loo_SbRequestBody)
loo_SbResponseBody = create oleobject
li_rc = loo_SbResponseBody.ConnectToNewObject("Chilkat_9_5_0.StringBuilder")

li_Success = loo_Rest.FullRequestSb("POST","/2/files/delete_v2",loo_SbRequestBody,loo_SbResponseBody)
if li_Success <> 1 then
    Write-Debug loo_Rest.LastErrorText
    destroy loo_Rest
    destroy loo_Json
    destroy loo_SbRequestBody
    destroy loo_SbResponseBody
    return
end if

li_RespStatusCode = loo_Rest.ResponseStatusCode
if li_RespStatusCode >= 400 then
    Write-Debug "Response Status Code = " + string(li_RespStatusCode)
    Write-Debug "Response Header:"
    Write-Debug loo_Rest.ResponseHeader
    Write-Debug "Response Body:"
    Write-Debug loo_SbResponseBody.GetAsString()
    destroy loo_Rest
    destroy loo_Json
    destroy loo_SbRequestBody
    destroy loo_SbResponseBody
    return
end if

loo_JsonResponse = create oleobject
li_rc = loo_JsonResponse.ConnectToNewObject("Chilkat_9_5_0.JsonObject")

loo_JsonResponse.LoadSb(loo_SbResponseBody)

//  See the Online Tool for Generating JSON Parse Code

ls_MetadataTag = loo_JsonResponse.StringOf("metadata.\".tag\"")
ls_MetadataName = loo_JsonResponse.StringOf("metadata.name")
ls_MetadataId = loo_JsonResponse.StringOf("metadata.id")
ls_MetadataClient_modified = loo_JsonResponse.StringOf("metadata.client_modified")
ls_MetadataServer_modified = loo_JsonResponse.StringOf("metadata.server_modified")
ls_MetadataRev = loo_JsonResponse.StringOf("metadata.rev")
li_MetadataSize = loo_JsonResponse.IntOf("metadata.size")
ls_MetadataPath_lower = loo_JsonResponse.StringOf("metadata.path_lower")
ls_MetadataPath_display = loo_JsonResponse.StringOf("metadata.path_display")
li_MetadataSharing_infoRead_only = loo_JsonResponse.BoolOf("metadata.sharing_info.read_only")
ls_MetadataSharing_infoParent_shared_folder_id = loo_JsonResponse.StringOf("metadata.sharing_info.parent_shared_folder_id")
ls_MetadataSharing_infoModified_by = loo_JsonResponse.StringOf("metadata.sharing_info.modified_by")
li_MetadataHas_explicit_shared_members = loo_JsonResponse.BoolOf("metadata.has_explicit_shared_members")
ls_MetadataContent_hash = loo_JsonResponse.StringOf("metadata.content_hash")
i = 0
li_Count_i = loo_JsonResponse.SizeOfArray("metadata.property_groups")
do while i < li_Count_i
    loo_JsonResponse.I = i
    ls_Template_id = loo_JsonResponse.StringOf("metadata.property_groups[i].template_id")
    j = 0
    li_Count_j = loo_JsonResponse.SizeOfArray("metadata.property_groups[i].fields")
    do while j < li_Count_j
        loo_JsonResponse.J = j
        ls_Name = loo_JsonResponse.StringOf("metadata.property_groups[i].fields[j].name")
        ls_Value = loo_JsonResponse.StringOf("metadata.property_groups[i].fields[j].value")
        j = j + 1
    loop
    i = i + 1
loop


destroy loo_Rest
destroy loo_Json
destroy loo_SbRequestBody
destroy loo_SbResponseBody
destroy loo_JsonResponse

Sample JSON Response Body

{
  "metadata": {
    ".tag": "file",
    "name": "Prime_Numbers.txt",
    "id": "id:a4ayc_80_OEAAAAAAAAAXw",
    "client_modified": "2015-05-12T15:50:38Z",
    "server_modified": "2015-05-12T15:50:38Z",
    "rev": "a1c10ce0dd78",
    "size": 7212,
    "path_lower": "/homework/math/prime_numbers.txt",
    "path_display": "/Homework/math/Prime_Numbers.txt",
    "sharing_info": {
      "read_only": true,
      "parent_shared_folder_id": "84528192421",
      "modified_by": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc"
    },
    "property_groups": [
      {
        "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa",
        "fields": [
          {
            "name": "Security Policy",
            "value": "Confidential"
          }
        ]
      }
    ],
    "has_explicit_shared_members": false,
    "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
  }
}