有没有办法将google驱动器文件下载到自定义位置?我正在使用此代码来获取文件,
courses.get(0).getCourseMaterialSets().get(0).getMaterials().get(0).getDriveFile()
此函数返回文件类型输出。如何在本地保存?
或者有没有办法使用课堂API下载谷歌驱动器文件?
答案 0 :(得分:0)
我认为使用Classroom API无法实现此目的。要从Google云端硬盘下载文件,请使用Android API for Drive检查下载文件教程。
下载文件
首选方法:使用alt = media
要下载文件,您需要向其发出授权的HTTP GET请求 文件的资源URL并包含查询参数alt = media。对于 例如:
GET https://www.googleapis.com/drive/v2/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media
授权:持票人 ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs正在下载文件 要求用户至少具有读取权限。此外,您的应用程序 必须使用允许读取文件内容的范围进行授权。 例如,使用drive.readonly.metadata范围的应用程序不会 被授权下载文件内容。用户进行编辑 权限可以通过设置限制只读用户下载 限制标签为真。
以下是指南的摘录:
/**
* Download a file's content.
*
* @param service Drive API service instance.
* @param file Drive File instance.
* @return InputStream containing the file's content if successful,
* {@code null} otherwise.
*/
private static InputStream downloadFile(Drive service, File file) {
if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0) {
try {
// uses alt=media query parameter to request content
return service.files().get(file.getId()).executeMediaAsInputStream();
} catch (IOException e) {
// An error occurred.
e.printStackTrace();
return null;
}
} else {
// The file doesn't have any content stored on Drive.
return null;
}
}