我想使用Google Drive API通过cronjob在其上存储一些备份。我只是不明白如何使用服务帐户使用PyDrive。生成服务帐户文件时,将其作为脚本作为client_secret.json
放在目录中。
使用此代码:
#!/usr/bin/env python
# -*- coding: utf8 -*-
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
def main():
gauth = GoogleAuth()
drive = GoogleDrive(gauth)
f = drive.CreateFile({'parent': 'toto'})
f.SetContentFile('test.drive.py')
f.Upload()
if __name__ == '__main__':
main(sys.argv[1:])
结果
pydrive.settings.InvalidConfigError: Invalid client secrets file Invalid file format.
好吧然后,我查看关于SO的其他帖子,并找到以下两个:
Automate Verification Process
此问题的第一个答案的代码返回以下内容:
Traceback (most recent call last):
File "test.drive.py", line 4, in <module>
from oauth2client.client import SignedJwtAssertionCredentials
ImportError: cannot import name SignedJwtAssertionCredentials
然后这个:
Automating pydrive verification process
只是...对我没有多大帮助。
我应该从哪里开始?我该怎么办 ?有人可以举一个pydrive和Service Authentication的例子来上传文件吗?
编辑:
经过更多研究之后,似乎我需要安装
pycrypto
来修复上述导入错误。我不知道为什么,因为错误消息中未指定。 最佳答案
经过更多研究后,似乎我需要安装pycrypto
来修复上述导入错误。我不知道为什么,因为错误消息中未指定。