【问题标题】:Service Account and PyDrive服务帐户和 PyDrive
【发布时间】:2014-08-05 15:56:18
【问题描述】:

我想使用 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 和服务身份验证的例子吗?

编辑:
经过更多研究后,我似乎需要安装pycrypto 来修复上述导入错误。我不知道为什么,因为它没有在错误消息中指定。

【问题讨论】:

  • 你知道如何使用它了吗?如果您有一个代码示例可以作为答案,因为我目前正在尝试做同样的事情!
  • 正如我在问题中所写,我需要安装 pycrypto 才能使其正常工作。虽然我不再花时间在这上面,所以我不能再帮你了......
  • 你是如何创建你的 client_secrets.json 的?
  • @Depado 我只是想知道你是如何创建它的,你可能在创建它时选择了错误的设置

标签: google-drive-api google-apps pydrive


【解决方案1】:

经过更多研究,我似乎需要安装pycrypto 来修复上述导入错误。我不知道为什么,因为它没有在错误消息中指定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-21
    • 2013-05-25
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 2013-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多