Dropbox API v2 /在 Google Apps 脚本中删除

Dropbox API v2 /delete in Google Apps Script

我正在学习 Dropbox API v2.

当我尝试键入删除命令时,文件已成功删除。 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\"}"

当我尝试在 Google 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
    }
  );
}

返回错误"SyntaxError: Unexpected token: E"。
如果有人能帮助我就太好了。

您必须 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
    }
  );
}