2017-06-16 45 views
0

我正在學習Dropbox API v2。Dropbox API v2 /在Google Apps腳本中刪除

當我嘗試鍵入刪除命令時,文件已成功刪除。 https://www.dropbox.com/developers/documentation/http/documentation#files-delete

curl -X POST https://api.dropboxapi.com/2/files/delete \ 
    --header "Authorization: Bearer <DROPBOX_ACCESS_TOKEN>" \ 
    --header "Content-Type: application/json" \ 
    --data "{"path":"/test/memo.txt\"}" 

當我試圖做同樣的動作在谷歌Apps腳本,

function main() { 
    var dropBoxAccessToken = "<DROPBOX_ACCESS_TOKEN>" 

    var dropBoxDeleteRes = JSON.parse(deleteDropBoxFiles(dropBoxAccessToken).getContentText()) 
    Logger.log(dropBoxDeleteRes) 
} 

function deleteDropBoxFiles(apiKey) { 
    return UrlFetchApp.fetch(
    "https://api.dropboxapi.com/2/files/delete", 
    { 
     "method" : "post", 
     "contentType" : "application/json", 
     "payload" : {"path" : "/test/memo.txt"}, 
     "headers" : {"Authorization" : "Bearer " + apiKey}, 
     "muteHttpExceptions" : true // for debug 
    } 
); 
} 

錯誤 「語法錯誤:意外標記:E」 被退回。
如果有人能夠幫助我,那將會很棒。

+0

這可能是'JSON.parse'說的投擲的錯誤。在解析它之前查看'getContentText'返回的內容。我猜測這是一個錯誤消息,可能對調試有用。 –

回答

0

你必須JSON.stringify()的有效載荷對象,如下所示:

function deleteDropBoxFiles(apiKey) { 
    return UrlFetchApp.fetch(
    "https://api.dropboxapi.com/2/files/delete", 
    { 
     "method" : "post", 
     "contentType" : "application/json", 
     "payload" : JSON.stringify({"path" : "/test/memo.txt"}), 
     "headers" : {"Authorization" : "Bearer " + apiKey}, 
     "muteHttpExceptions" : true // for debug 
    } 
); 
}