Я работаю с Google Drive API V3 , чтобы создать папку с приложением для Android.
После создания идентификатор файла сохраняется в общий преф - для использования и добавления его позже.Файл сохраняется как информация о пользователе, а не как информация о приложении, поэтому пользователь может изменить его с диска.Возможно, что папка удалена или полностью удалена - и если это так, я хочу создать новую папку.
Согласно этому объяснению о поиске файлов Я могу использовать files.list - но этовернет все файлы.и мне нужен только определенный файл (если он существует)
при получении списка - я могу видеть значение мусора (true / false), например:
List<String> fileInfo = new ArrayList<String>();
FileList result = mDriveServiceForTrash.files().list()
.setPageSize(100)
.setFields("nextPageToken, files(id, name,trashed)")
.execute();
List<File> files = result.getFiles();
if (files != null) {
for (File file : files) {
fileInfo.add(String.format("%s (%s) trashed =%s\n",
file.getName(), file.getId(),file.getTrashed()));
}
}
В моем коде - mDriveFolderId
- это строка с идентификатором папки после ее создания - взята из "file.getId()"
.
Я пытался использовать -
File checkFileTrashed = mDriveService.files()
.get(mDriveFolderId)
.setFields("files(trashed)")
.execute();
Это возвращает исключение:
error = 400 Bad Request {
"code" : 400,
"errors" : [ {
"domain" : "global",
"location" : "fields",
"locationType" : "parameter",
"message" : "Invalid field selection files",
"reason" : "invalidParameter"
} ],
"message" : "Invalid field selection files"
}
- Может кто-нибудь, пожалуйста, направьте меня к решению, чтобы получить значение для конкретного файла?
- Какой может быть структура setFields ()?
Спасибо большое !!