我正在开发一个
Android项目,我正在尝试使用Google Drive API,而且我的大部分工作正在进行,但是我在执行下载时遇到了一个问题.
我在任何地方找不到文件ID,以便我可以执行下载.为了测试我已经检索到我的驱动器帐户中的所有文件,并将它们添加到列表数组,然后获取列表中第一个文件的ID.
然后我将文件ID复制到命令中以下载该文件,并且此功能成功,但我不知道如何获取要下载的特定文件的文件ID.
private void downloadFile() { Thread thread = new Thread(new Runnable() { @Override public void run() { try { com.google.api.services.drive.model.File file = service.files().get("0B-Iak7O9SfIpYk9zTjZvY2xreVU").execute(); //FileList file = service.files().list().execute(); //List<com.google.api.services.drive.model.File> fileList = file.getItems(); //com.google.api.services.drive.model.File fileItem = fileList.get(0); //Log.d("FileID",fileItem.getId()); //Log.d("Count","Retreived file list"); if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0) { HttpResponse resp = service.getRequestFactory().buildGetRequest(new GenericUrl(file.getDownloadUrl())).execute(); InputStream inputStream = resp.getContent(); writeToFile(inputStream); } } catch (IOException e) { Log.e("WriteToFile",e.toString()); e.printStackTrace(); } } }); thread.start(); }
0B-Iak7O9SfIpYk9zTjZvY2xreVU是我下载的文件的文件ID,当我做了一个列表并选择了第一个文件时,我下载的文件,但是我怎么说我想下载File_1并获取它的ID,然后将其传递给该服务. get().execute函数.
基本上我的最终目标是在我的应用程序内,我将XML文件上传到Google云端硬盘,然后再下载该文件.它将只有一个文件,并将始终具有相同的名称.我马上要去,还是有更好的方式来达到我想做的事情.
我希望这是有道理的,任何帮助将不胜感激.
谢谢