Я использую AppsScript для манипулирования файлами между GDrive и Dropbox, и моя текущая задача - удалить группу файлов из указанной папки в Dropbox.
Созданное мной приложение имеет тип разрешения только для папки приложения.
Изначально мне удалось удалить один файл, используя этот метод https://www.dropbox.com/developers/documentation/http/documentation#files -delete с помощью следующего кода
function deleteFiles() {
var dropBoxAccessToken = "token"
var dropBoxDeleteRes = (deleteDropBoxFiles(dropBoxAccessToken).getContentText())
Logger.log(dropBoxDeleteRes)
}
function deleteDropBoxFiles(apiKey) {
return UrlFetchApp.fetch(
"https://api.dropboxapi.com/2/files/delete_v2",
{
"method" : "post",
"contentType" : "application/json",
"payload" : JSON.stringify({"path": "/20200110-dsc06071.jpg"}),
"headers" : {"Authorization" : "Bearer " + apiKey},
"muteHttpExceptions" : true
}
);
}
Однако у меня возникают трудности с достижением то же самое для нескольких файлов. Эти файлы находятся в папке root папки App, и я заметил из документации API, что этот метод не поддерживает операции с папками root (ошибка: Error in call to API function "files/delete_batch": request body: entries.path: The root folder is unsupported.
). Ссылаясь на этот метод https://www.dropbox.com/developers/documentation/http/documentation#files - delete_batch Я попытался изменить строку path
на что-то вроде {"path":"/\"\""}
, {"path":"/."}
или {"path":"/"}
, чтобы указать «все файлы». Тестирование через API Explorer дает мне async_job_ID, но файлы остаются не удаленными в папке. Тем не менее, выполнение этого изнутри AppsScript возвращает следующую ошибку:
{"error_summary": "path_lookup/not_found/..", "error": {".tag": "path_lookup", "path_lookup": {".tag": "not_found"}}}
, что, очевидно, является ошибкой пути.
Кажется, что этот метод не может быть удален из папки App root.
Буду признателен за небольшую помощь в этом. Спасибо.