Boa*_*rdy 19 android google-drive-api
我正在开发一个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();
}
Run Code Online (Sandbox Code Playgroud)
0B-Iak7O9SfIpYk9zTjZvY2xreVU 是我下载的文件的文件ID,当我输入列表并选择第一个文件时,我检索了该文件,但是我怎么能说我想下载File_1并获取其ID然后将其传递给service.get() .execute函数.
基本上我的最终目标是在我的应用程序中,我将XML文件上传到Google云端硬盘,然后再下载文件.它只是一个文件,并且始终具有相同的名称.我是马上去做的还是有更好的方法来实现我想做的事情?
Rom*_*Roc 39
根据我的观点,获取Google云端硬盘文件ID的最简单快捷方式是来自Google云端硬盘,右键单击文件,然后点击获取可共享链接.链接的最后一部分是文件ID.然后你可以取消共享.
此脚本记录驱动器中的所有文件名和 ID:
// Log the name and id of every file in the user's Drive
function listFiles() {
var files = DriveApp.getFiles();
while ( files.hasNext() ) {
var file = files.next();
Logger.log( file.getName() + ' ' + file.getId() );
}
}
Run Code Online (Sandbox Code Playgroud)
此外,“文件:列表”页面的末尾有一个表格,其中列出了驱动器中所有文件的元数据,如果您只需要一些 ID,可以使用它。
一种方法是在创建时将独特的属性与文件关联起来。
properties = "{ \
key='somekey' and \
value='somevalue'
}"
Run Code Online (Sandbox Code Playgroud)
然后创建一个查询。
query = "title = " + "\'" + title + "\'" + \
AND + "mimeType = " + "\'" + mimeType + "\'" + \
AND + "trashed = false" + \
AND + "properties has " + properties
Run Code Online (Sandbox Code Playgroud)
您已知的所有文件属性(标题等)都可以转到此处+属性。
| 归档时间: |
|
| 查看次数: |
68928 次 |
| 最近记录: |