我正在开发一个 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,然后将其传递给 service.get() .执行功能。
基本上我的最终目标是在我的应用程序中,我将一个 XML 文件上传到 Google Drive,然后再下载该文件。它只会是一个文件,并且始终具有相同的名称。我是马上去做,还是有更好的方法来实现我想要做的事情?