Perl 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\"}"

Perl Example

use chilkat();

$rest = chilkat::CkRest->new();

#  URL: https://api.dropboxapi.com/2/files/delete_v2
$bTls = 1;
$port = 443;
$bAutoReconnect = 1;
$success = $rest->Connect("api.dropboxapi.com",$port,$bTls,$bAutoReconnect);
if ($success != 1) {
    print "ConnectFailReason: " . $rest->get_ConnectFailReason() . "\r\n";
    print $rest->lastErrorText() . "\r\n";
    exit;
}

#  See the Online Tool for Generating JSON Creation Code
$json = chilkat::CkJsonObject->new();
$json->UpdateString("path","/Homework/math/Prime_Numbers.txt");

$rest->AddHeader("Authorization","Bearer DROPBOX-ACCESS-TOKEN");
$rest->AddHeader("Content-Type","application/json");

$sbRequestBody = chilkat::CkStringBuilder->new();
$json->EmitSb($sbRequestBody);
$sbResponseBody = chilkat::CkStringBuilder->new();
$success = $rest->FullRequestSb("POST","/2/files/delete_v2",$sbRequestBody,$sbResponseBody);
if ($success != 1) {
    print $rest->lastErrorText() . "\r\n";
    exit;
}

$respStatusCode = $rest->get_ResponseStatusCode();
if ($respStatusCode >= 400) {
    print "Response Status Code = " . $respStatusCode . "\r\n";
    print "Response Header:" . "\r\n";
    print $rest->responseHeader() . "\r\n";
    print "Response Body:" . "\r\n";
    print $sbResponseBody->getAsString() . "\r\n";
    exit;
}

$jsonResponse = chilkat::CkJsonObject->new();
$jsonResponse->LoadSb($sbResponseBody);

#  See the Online Tool for Generating JSON Parse Code

$metadataTag = $jsonResponse->stringOf("metadata.\".tag\"");
$metadataName = $jsonResponse->stringOf("metadata.name");
$metadataId = $jsonResponse->stringOf("metadata.id");
$metadataClient_modified = $jsonResponse->stringOf("metadata.client_modified");
$metadataServer_modified = $jsonResponse->stringOf("metadata.server_modified");
$metadataRev = $jsonResponse->stringOf("metadata.rev");
$metadataSize = $jsonResponse->IntOf("metadata.size");
$metadataPath_lower = $jsonResponse->stringOf("metadata.path_lower");
$metadataPath_display = $jsonResponse->stringOf("metadata.path_display");
$metadataSharing_infoRead_only = $jsonResponse->BoolOf("metadata.sharing_info.read_only");
$metadataSharing_infoParent_shared_folder_id = $jsonResponse->stringOf("metadata.sharing_info.parent_shared_folder_id");
$metadataSharing_infoModified_by = $jsonResponse->stringOf("metadata.sharing_info.modified_by");
$metadataHas_explicit_shared_members = $jsonResponse->BoolOf("metadata.has_explicit_shared_members");
$metadataContent_hash = $jsonResponse->stringOf("metadata.content_hash");
$i = 0;
$count_i = $jsonResponse->SizeOfArray("metadata.property_groups");
while ($i < $count_i) {
    $jsonResponse->put_I($i);
    $template_id = $jsonResponse->stringOf("metadata.property_groups[i].template_id");
    $j = 0;
    $count_j = $jsonResponse->SizeOfArray("metadata.property_groups[i].fields");
    while ($j < $count_j) {
        $jsonResponse->put_J($j);
        $name = $jsonResponse->stringOf("metadata.property_groups[i].fields[j].name");
        $value = $jsonResponse->stringOf("metadata.property_groups[i].fields[j].value");
        $j = $j + 1;
    }

    $i = $i + 1;
}

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"
  }
}