使用Python下载由Google Apps脚本创建的Google Drive文件
我正在做一个谷歌脚本,目的是帮我处理一些事情。我需要创建一个txt文件,并把它下载到我的本地电脑上。我已经弄明白了怎么把文件做成一个blob,并在谷歌云端硬盘上创建文件。
问题是,我不知道怎么删除旧文件并创建新文件,也不知道怎么把文件下载到本地,这样我才能用Python来处理,生成一个好看的报告并打印出来。我看过文档,也查过类似的问题,但就是搞不清楚怎么真正下载文件。
如果能给我一个示例程序就太好了,最好是用一个虚拟文件来下载,这样真的很棒。
我在想,我可以回到我想下载的旧文件,直接编辑它,这样就不需要删除文件,这样文件的ID、元数据和网址都能保持不变。
我能不能用谷歌应用脚本直接下载到我的电脑上?另外,我用的是Linux系统,所以有些事情对我来说稍微复杂一点,但有些事情又很简单。我觉得可能有个应用可以在我的电脑上本地运行,把我的谷歌云端硬盘文件存储在本地,这样我就可以直接从那里获取文件。
最后,如果能提供一个关于本地运行脚本的文档链接,那就太好了。
3 个回答
0
使用
urllib.retrieve(httpaddressofthefile, filenametosaveitto)
或者
import urllib2
response = urllib2.urlopen('http://www.wherever.com/')
html = response.read()
f=open(filename, 'w')
f.write(html)
f.close()
0
好的,你要找的是 pydrive
这是一个专门用来上传和下载谷歌云盘内容的工具。
另外,这里有一个示例请求:
在这里:
#-------------------------------------------------------------------------------
# Author: Amazingred
# Created: 0017032814
#-------------------------------------------------------------------------------
import urllib, urllib2, os, sys
#The pydrive package download
page='https://pypi.python.org/packages/source/P/PyDrive/PyDrive-1.0.0.tar.gz'
request=urllib.urlretrieve(page, 'pydrive.tar.gz')
if os.path.exists(os.path.join(os.path.dirname(__file__),"pydrive.tar.gz")):
print "YUP THE FILE EXISTS"
else:
print "nope"
0
这是如何使用Python从Google Drive下载文件的方法。
# sample
import googleDriveAccess
ci = googleDriveAccess.readClientId(basedir)
ds = googleDriveAccess.second_authorize(basedir, ci, script=True)
id, fileobj = googleDriveAccess.script_download(ds, folder, SCRIPT_ID)
googleDriveAccess的源代码可以在这里找到: https://github.com/HatsuneMiku/googleDriveAccess
Apps Script速成课程:导入/导出Apps Script代码 https://www.youtube.com/watch?v=lEVMu9KE6jk
Google Drive SDK:搜索文件 https://www.youtube.com/watch?v=DOSvQmQK_HA