#java #android #google-drive-api #spreadsheet
#java #Android #google-drive-api #электронная таблица
Вопрос:
Я загружаю файл ContactList.csv на свой Google диск. Когда я нажимаю, чтобы открыть файл CSV, он создаст и откроет файл электронных таблиц Google «Список контактов». После того, как я внесу в него некоторые изменения, мне нужно выполнить поиск в этом файле Google таблиц, чтобы загрузить его в формате CSV.
Что mimeTpye
я должен вставить? Я пытался использовать 'text/csv'
, но он найдет исходный файл CSV, а не Google spreadsheets. Таким образом, я не знаю, как получить идентификатор файла Google таблиц. Кто-нибудь может сказать мне, как это сделать?
FileList result= null;
try {
result= driveService.files().list()
.setSpaces("drive")
.setQ(" name contains 'ContactList' and mimeType = 'text/csv' ")
.setOrderBy("modifiedTime desc")
.execute();
System.out.println("searchFile ID:" result.getFiles().get(0).getId());
}catch (Exception e){
e.printStackTrace();
}
Ответ №1:
Согласно документации, для поиска электронных таблиц Google ваш MimeType должен быть application/vnd.google-apps.spreadsheet
. Ссылка на все миметипы Google здесь.
Пример кода того, как выполнить этот запрос (документация здесь):
FileList result = driveService.files().list()
.setQ("name contains 'ContactList' and mimeType='application/vnd.google-apps.spreadsheet'")
.setOrderBy("modifiedTime desc")
.setSpaces("drive")
.setPageToken(pageToken)
.execute();
Комментарии:
1. Привет, я попробовал это и получил ошибку «java.lang. Исключение IndexOutOfBoundsException: Индекс: 0, Размер: 0». Кажется, что он ничего не получает:(
2. Привет! Я добавил фрагмент кода к своему ответу. Не могли бы вы попробовать запустить его так, как я написал (т. е. сначала задать запрос, а затем пробелы), и дайте мне знать, если вы все еще получаете ту же ошибку? Кроме того, в какой строке кода находится эта ошибка?