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

PowerShell Example

[Reflection.Assembly]::LoadFile("C:\myAssemblies\ChilkatDotNet47.dll")

$rest = New-Object Chilkat.Rest

#  URL: https://api.dropboxapi.com/2/files/delete_v2
$bTls = $true
$port = 443
$bAutoReconnect = $true
$success = $rest.Connect("api.dropboxapi.com",$port,$bTls,$bAutoReconnect)
if ($success -ne $true) {
    $("ConnectFailReason: " + $rest.ConnectFailReason)
    $($rest.LastErrorText)
    exit
}

#  See the Online Tool for Generating JSON Creation Code
$json = New-Object Chilkat.JsonObject
$json.UpdateString("path","/Homework/math/Prime_Numbers.txt")

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

$sbRequestBody = New-Object Chilkat.StringBuilder
$json.EmitSb($sbRequestBody)
$sbResponseBody = New-Object Chilkat.StringBuilder
$success = $rest.FullRequestSb("POST","/2/files/delete_v2",$sbRequestBody,$sbResponseBody)
if ($success -ne $true) {
    $($rest.LastErrorText)
    exit
}

$respStatusCode = $rest.ResponseStatusCode
if ($respStatusCode -ge 400) {
    $("Response Status Code = " + $respStatusCode)
    $("Response Header:")
    $($rest.ResponseHeader)
    $("Response Body:")
    $($sbResponseBody.GetAsString())
    exit
}

$jsonResponse = New-Object Chilkat.JsonObject
$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 -lt $count_i) {
    $jsonResponse.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 -lt $count_j) {
        $jsonResponse.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"
  }
}