Dropbox API v2 / удалить в Google Apps Script

Я изучаю Dropbox API v2.

Когда я попытался ввести команду удаления, файл был успешно удален. https://www.dropbox.com/developers/documentation/http/documentation

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 Script,

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: Неожиданный токен: E" была возвращена.
Было бы здорово, если бы кто-нибудь мог мне помочь.

1 ответ

Решение

Вы должны 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
    }
  );
}
Другие вопросы по тегам