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
}
);
}