Google Drive Android未返回文件的最新版本
我正在使用Drive Android API在设备之间同步文件,并在驱动器上保存最新版本。从很久以前开始,它就开始表现得很奇怪 为了查看文件是否存在并获取其最新版本,我按该文件名进行查询搜索,并按修改日期降序排序。它返回文件更新时的正确日期时间:Google Drive Android未返回文件的最新版本,android,google-drive-api,google-drive-android-api,Android,Google Drive Api,Google Drive Android Api,我正在使用Drive Android API在设备之间同步文件,并在驱动器上保存最新版本。从很久以前开始,它就开始表现得很奇怪 为了查看文件是否存在并获取其最新版本,我按该文件名进行查询搜索,并按修改日期降序排序。它返回文件更新时的正确日期时间: final SortOrder sortOrder = new SortOrder.Builder() .addSortDescending(SortableField.MODIFIED_DATE)
final SortOrder sortOrder = new SortOrder.Builder()
.addSortDescending(SortableField.MODIFIED_DATE)
.build();
final Query query = new Query.Builder()
.addFilter(Filters.eq(SearchableField.TITLE, "fileName"))
.addFilter(Filters.eq(SearchableField.TRASHED, false))
.setSortOrder(sortOrder)
.build();
Drive.DriveApi.query(apiClient, query)
.setResultCallback(lastModifiedCallback);
但是当我查询文件内容时,它会返回它的一些旧版本。我不明白是什么原因造成的
我阅读文件如下:
driveId.asDriveFile()
.open(apiClient, DriveFile.MODE_READ_ONLY, null)
.setResultCallback(fileContentsCallback);
final DriveContents driveContents = result.getDriveContents();
final InputStream inputStream = driveContents.getInputStream();
final File newFile = new File("fileName");
final FileOutputStream dest = new FileOutputStream(newFile);
ByteStreams.copy(inputStream, dest);
driveContents.commit(apiClient, null);
我读到的驱动器内容如下:
driveId.asDriveFile()
.open(apiClient, DriveFile.MODE_READ_ONLY, null)
.setResultCallback(fileContentsCallback);
final DriveContents driveContents = result.getDriveContents();
final InputStream inputStream = driveContents.getInputStream();
final File newFile = new File("fileName");
final FileOutputStream dest = new FileOutputStream(newFile);
ByteStreams.copy(inputStream, dest);
driveContents.commit(apiClient, null);
你知道为什么会发生这种情况以及如何解决吗
我知道返回的版本很旧,因为如果我在设备上使用驱动器应用程序,它会返回同一文件的正确、最新版本。您的查询是否返回修订列表?这当然包括旧版本。您是否尝试获取在响应的第一个索引中找到的索引?还可以尝试一下,这可能会有所帮助。@noogui metadataBuffer.getCount()返回1,我得到第一个。另外,我应该添加一个,以明确说明-对上次修改的查询正常,返回最新的。问题是如何使用“打开”方法而不是查询来获取文件的真实内容。预计将于2016年11月修复。@h22是的,谢谢,自从我发布问题以来,我一直在关注这个bug。