5

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 に関する他の投稿を見て、次の 2 つを見つけます。
検証プロセスの自動化
この質問に対する最初の回答のコードは、次を返します。

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 validation process
これはただ... あまり役に立ちません。

どこから始めればよいですか?私は何をすべきか ?ファイルをアップロードするためだけにpydriveとサービス認証の例を教えてもらえますか?

編集:
さらに調査したpycrypto結果、上記のインポートエラーを修正するためにインストールする必要があるようです。エラーメッセージに指定されていないため、理由はわかりません。

4

1 に答える 1

1

さらに調査したpycrypto結果、上記のインポート エラーを修正するためにインストールする必要があるようです。エラーメッセージに指定されていないため、理由はわかりません。

于 2015-12-02T11:32:11.277 に答える