0

結果を一晩で自動的に更新し、Googleドライブのファイルに保存するレポートシステムに取り組んでいます。現在機能しているのは、ログインとパスワードの情報をハードコーディングすることです。これは、機能していても決して理想的ではありません。StackOverflowで検索しても、この質問は具体的に示されていません。これは私を驚かせます。コードの関連セクションを含む非常に単純化された例は、次のようになります。

import gdata.docs.service

class GDrive(object):
    def __init__(self, email, password)
        self.gd_client = gdata.docs.service.DocService()
        self.gd_client.ClientLogin(email, password)
    def upload(self):
        # Code to Upload file somewhere in GDrive.

gd = GDrive("the@email.address", "ThePassword")
gd.upload()

ユーザー名とパスワードを明示的に記述しないようにするために何かできることはありますか?

4

2 に答える 2

1
import gdata.docs.service
import sys

class GDrive(object):
    def __init__(self, email, password)
        self.gd_client = gdata.docs.service.DocService()
        self.gd_client.ClientLogin(email, password)
    def upload(self):
        # Code to Upload file somewhere in GDrive.


if __name__ == "__main__":
    username = sys.argv[1]
    password = sys.argv[2]

    gd = GDrive(username, password)
    gd.upload()

これで、Pythonスクリプトの名前がscript.py the@email.address ThePasswordどこにあるかなどのコマンドラインから実行できます...script.py

于 2012-10-19T18:57:48.613 に答える
1

OAuth2 プロトコルを使用します。これは、資格情報を長期間保存するための安全な方法です (ただし、永久に保存することはできません)。

私の携帯からの短い答えですが、確認してください:

https://developers.google.com/drive/about-auth

そして、このビットにより、Oauth2 での作業が非常に簡単になります。

https://developers.google.com/api-client-library/python/platforms/google_app_engine#Decorators

于 2012-10-19T21:25:58.290 に答える