下载文件

该驱动器API支持三种类型的下载:

  • 文件的下载存储在谷歌驱动器。
  • 在格式您的应用程序可以处理G的套房文件导出版本(谷歌文档,表格,幻灯片等)的下载。
  • 通过在URL中的文件的下载webContentLink性能。

注:下载A G套房文件的唯一方法是导出和下载的文件不同的文件格式。

本指南的其余部分提供执行这些类型的下载的详细说明。

下载存储在谷歌云端硬盘中的文件

要下载存储在谷歌云端硬盘中的文件,使用 files.get方法与文件的ID来下载和alt=mediaURL参数。该alt=mediaURL参数告诉被请求的内容的下载服务器。

下面的代码片段展示了如何下载一个文件的驱动器API客户端库。

file_id = '0BwwA4oUTeiV1UVNwOHItT0xfa2M'
request = drive_service.files().get_media(fileId=file_id)
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:status, done = downloader.next_chunk()print "Download %d%%." % int(status.progress() * 100)

此代码段使用executeMediaAndDownloadTo()这增加了该方法alt=media的URL参数到底层HTTP请求。

从您的应用程序启动文件下载至少需要对该文件进行读取访问。您的应用程序必须与范围,使文件内容读访问授权。例如,使用一个应用程序drive.readonly.metadata范围将无权下载文件的内容。拥有修改权限的用户可以限制通过设置下载由只读用户 viewersCanCopyContent领域false。要了解更多关于范围,是指 验证用户。

确定为档案虐待 (恶意软件等)只能由所有者下载。此外,查询参数acknowledgeAbuse=true必须包含以表明用户已确认下载的潜在恶意软件的风险。你的应用程序应该使用此查询参数交互之前向用户发出警告。

部分下载

部分下载需要将文件下载的只是一个特定部分。您可以通过使用一个字节范围与指定下载你想要的文件的部分 Range 标题。例如:

Range: bytes=500-999

注:部分下载而出口谷歌文档不支持

下载谷歌文档

下载使用G套房文档 files.export方法。出口使用同样的 alt=media方法,因为在下载驱动器以外的内容。

下面的例子演示了如何使用客户端库以PDF格式下载谷歌文档:

file_id = '1ZdR3L3qP4Bkq8noWLJHSr_iBau0DNT4Kli4SxNc2YEo'
request = drive_service.files().export_media(fileId=file_id,mimeType='application/pdf')
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:status, done = downloader.next_chunk()print "Download %d%%." % int(status.progress() * 100)

该段声明MIME类型,货物出口application/pdf。对于支持的每个G套房文档中的所有MIME类型的完整列表,请参阅摹套房文件和相应的出口MIME类型

在浏览器中查看文件

如果你想允许用户直接在网页浏览器,而不是通过API查看文件,请使用webContentLink。您可以将用户或者重定向到该网址,或提供它作为一个可点击的链接。该文件必须由拥有或与用户为了查看共享。

Download files相关推荐

  1. Failed to download You must enable the openssl extension to download files via https

    刚看了一篇文章说了2014年最火的10个php框架,看到了Laravel,于是便自己试试,孰料刚安装便遇到了一个问题(由于一不小心关掉了cmd,此处无法截图显示),便是如文章标题中所说的那样,goog ...

  2. APK Expansion Files / Obb 接入介绍

    APK Expansion Files / Obb 接入介绍 APK Expansion Files 是谷歌官方提供的APK分包下载策略, 依赖工程已经包含在SDK中. 官方资料 文档 使用方法 1. ...

  3. Using the command line to manage files on HDFS--转载

    原文地址:http://zh.hortonworks.com/hadoop-tutorial/using-commandline-manage-files-hdfs/ In this tutorial ...

  4. opera mini android apk,Download Opera Mini APK Android

    Sponsored Links Which web browser do you use to access internet on your mobile phone? Have you ever ...

  5. Windows10+anaconda,python3.5, 安装glove-python

    Windows10+anaconda,python3.5, 安装glove-python 安装glove 安装之前 Visual C++ 2015 Build Tools 开始安装 安装glove 最 ...

  6. centos命令大全

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  7. linux常用命令(转载)

    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...

  8. 常用的linux的命令行操作

    2019独角兽企业重金招聘Python工程师标准>>> 系统信息  arch 显示机器的处理器架构(1)  uname -m 显示机器的处理器架构(2)  uname -r 显示正在 ...

  9. java web开发初学_2018年学习Web开发的绝对初学者指南

    java web开发初学 This post was originally published on Coder-Coder.com. 该帖子最初发布在Coder-Coder.com上 . If yo ...

最新文章

  1. char *a 和char a[] 的区别(指针和数组的区别)
  2. js如何关闭当前页,而不弹出提示框
  3. python使用缩进来体现代码之间的逻辑关系-Python使用缩进来体现代码之间的逻辑关系。...
  4. lucene.NET详细使用与优化详解
  5. kotlin读取html,kotlin 使用skrape {it}从html获取数据 - 糯米PHP
  6. 服务器tomcat配置教程
  7. FreeRTOS---堆内存管理(一)
  8. Tricks(二十九)—— 2^10000 的位数
  9. 云服务器怎么配置文件,云服务器网卡怎么配置文件
  10. Servlet — 线程安全问题
  11. 详解python多进程(含示例代码)
  12. Java中的双重检查(Double-Check)详解
  13. 【历史上的今天】9 月 3 日:谷歌发布 Android 10;微软收购诺基亚;eBay 诞生
  14. 太秀了!程序媛小姐姐写出代码版《本草纲目》,刘畊宏回复:很cool!
  15. “安全删除硬件”图标 隐藏
  16. 智能算法--------------进化计算总结
  17. vue读取excel表格数据_vue 利用 js-xslx 读取 excel 表格文件
  18. JavaScript 数组对象切片
  19. 不忘初心,专心练剑!
  20. Java后端大数据 从0到1学习路线分析与规划

热门文章

  1. OpenGL ES之实现“瘦脸大眼”效果
  2. 怎么使用xftp 7文件传输·
  3. 【Cmake实战:番外】库、动态库和静态库(.dll,.so,.lib,.a)
  4. 管理好公司固定资产需要做什么?资产管理一步到位
  5. ffmpeg h264解码器分析sps(二)
  6. 2021.2.25课程摘要(逻辑教育-王劲胜)
  7. 【H.264/AVC视频编解码技术详解】八、 熵编码算法(2):H.264中的熵编码基本方法、指数哥伦布编码
  8. 理解 operator=
  9. 驾校微机室计算机操作流程,学车
  10. iOS抖音 内部方法 名称