google drive api很简单。

PyDrive3的Python项目详细描述


叉子

这只是pydrive repo的一个分支。这里的代码直接来自github。这是在pydrive与python3不兼容时创建的。但现在是了,所以这个包裹现在没用了。你应该使用谷歌的官方版本

PyDrive

pydrivegoogle-api-python-client 这简化了许多常见的google drive api任务。

PyDrive的功能

  • 将OAuth2.0简化为具有灵活设置的几行。
  • Google Drive API包装到 每个资源的类,使程序更面向对象。
  • 帮助除api调用以外的常见操作,例如内容获取 以及分页控制。

如何安装

可以使用常规的pip命令安装pydrive。

$ pip install PyDrive

OAuth简化了

从google api控制台下载client_secrets.json,oauth2.0是 分成两行。您可以在一个设置中自定义OAuth2的行为 文件settings.yaml

frompydrive.authimportGoogleAuthfrompydrive.driveimportGoogleDrivegauth=GoogleAuth()gauth.LocalWebserverAuth()drive=GoogleDrive(gauth)

文件管理变得简单

使用一种方法上载/更新文件。Pydrive最多能做到这一点 有效的方法。

file1=drive.CreateFile({'title':'Hello.txt'})file1.SetContentString('Hello')file1.Upload()# Files.insert()file1['title']='HelloWorld.txt'# Change title of the filefile1.Upload()# Files.patch()content=file1.GetContentString()# 'Hello'file1.SetContentString(content+' World!')# 'Hello World!'file1.Upload()# Files.update()file2=drive.CreateFile()file2.SetContentFile('hello.png')file2.Upload()print('Created file %s with mimeType %s'%(file2['title'],file2['mimeType']))# Created file hello.png with mimeType image/pngfile3=drive.CreateFile({'id':file2['id']})print('Downloading file %s from Google Drive'%file3['title'])# 'hello.png'file3.GetContentFile('world.png')# Save Drive file as a local file# or download Google Docs files in an export format provided.# downloading a docs document as an html file:docsfile.GetContentFile('test.html',mimetype='text/html')

文件列表分页变得简单

pydrive为您处理文件列表分页。

# Auto-iterate through all files that matches this queryfile_list=drive.ListFile({'q':"'root' in parents"}).GetList()forfile1infile_list:print('title: %s, id: %s'%(file1['title'],file1['id']))# Paginate file lists by specifying number of max resultsforfile_listindrive.ListFile({'maxResults':10}):print'Received %s files from Files.list()'%len(file_list)# <= 10forfile1infile_list:print('title: %s, id: %s'%(file1['title'],file1['id']))

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在sqlite数据库中保存特定列的历史记录   java如何更改/更新timeseriechart名称(JFreeChart)   java如何将整数转换为可绘制的   汇编什么解释Java的字节码   java查找已编译的类版本号   我应该什么时候在ColdFusion应用程序中使用Java?   java当一个实体的两个字段为(unique=true)时,如何处理JPA异常?   java为什么在所有其他实例都正确的情况下返回错误的布尔值?   java Hibernate每次都准备语句   java停留在平均字长上   对Java和日语字符进行编码   java如何将导致异常的方法的错误消息传递给侦听器中的onTestFailure方法   java代码没有打印结果   java为什么私有内部接口的方法必须是公共的?   休眠发生错误。有关详细信息,请参阅错误日志。JAVAlang.NullPointerException