当前位置: 首页 > 知识库问答 >
问题:

如何获得文件ID,这样我就可以执行从谷歌驱动器API在Android上下载一个文件?

姜博
2023-03-14

我正在做一个Android项目,我试图利用谷歌驱动器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().execute函数。

基本上,我的最终目标是在我的应用程序中,我上传一个XML文件到Google Drive,然后下载该文件。它将只有一个文件,并将始终具有相同的名称。我是马上去做,还是有更好的方法来实现我正在努力做的事情?

共有1个答案

越鸿才
2023-03-14

在我看来,获得Google Drive文件ID的最简单和最快的方法是从Web上的Google Drive。右键单击文件名并选择获取可共享链接。链接的最后一部分是文件ID。然后你就可以取消分享了。

 类似资料: