2

ユーザーにアプリからGoogleアカウントにログイン/接続するように促すにはどうすればよいのでしょうか。そうすれば、ユーザーのメールアドレスとパスワードを使用してドキュメント/ドライブにアクセスできます。デスクトップ上でGoogleアカウントのドライブに接続し、スプレッドシートを作成し、後で情報を得るためにアクセスするアプリケーションを実行しています。現在、メールアドレスとパスワードをハードコーディングする必要があります。

ガエマについて聞いたのですが、正しく聞こえませんでした。また、それが違いを生むかどうかはわかりませんが、このアプリは私のラップトップ上にのみあり、Googleサーバーでは実行されていません。すべきではありませんが...私は思います。

PS私はグーグルアプリエンジンとPython、さらにはスタックオーバーフローに慣れていないので、私の初心者の質問を嫌いにならないでください:)

4

2 に答える 2

3

ユーザー名とパスワードをユーザーに尋ねることは決して受け入れられる解決策ではありません。代わりに、通常は OAuth 2.0 などの何らかの認証フローを使用する必要があります。

この記事では、GAE から Google ドライブを使用する完全なサンプル アプリケーションについて説明します。

于 2012-08-14T21:36:29.747 に答える
2

そのため、AppEngine は Google アカウント関連の作業を非常に簡単にします (驚きの驚き :))。https://developers.google.com/appengine/docs/python/users/overviewのドキュメントをご覧ください。これは、ユーザーが Google 資格情報を使用してログインするように要求できるユーザー サービスについて説明しています。例(ドキュメントから直接):

from google.appengine.api import users
from google.appengine.ext import webapp

class MyHandler(webapp.RequestHandler):
    def get(self):
        user = users.get_current_user()
        if user:
            greeting = ("Welcome, %s! (<a href=\"%s\">sign out</a>)" %
                        (user.nickname(), users.create_logout_url("/")))
        else:
            greeting = ("<a href=\"%s\">Sign in or register</a>." %
                        users.create_login_url("/"))

        self.response.out.write("<html><body>%s</body></html>" % greeting)

これは、ユーザーが Google アカウントでログインしているかどうかを確認し、ログインしていない場合はログイン URL を提示します。「魔法」を行う部分はusers.create_logout_url('/')メソッドusers.create_login_url('/')です。ユーザーがログインできる特別な URL へのリンクを作成します (追加のフォーマットやコーディングを行う必要はありません)。その後、それらはサイトにリダイレクトされます (「/」はそれらをメイン ページに送信しますが、変更することもできます)。お役に立てれば!

EDIT : @Wooble が指摘しているように、これはアプリケーションにユーザー データへのアクセスを許可しません。ユーザー サービスを通じて利用できるものごとに、ユーザーに関する基本的な情報を提供するだけです。アプリが Google ドライブのデータにアクセスできるようにするために、@SebastianKreft が提供するリンクは、認証を行うサンプル アプリケーションを示しています。ドライブでの OAuth の使用に関する追加の一般情報については、こちらを参照してください。要するに、ユーザーはアプリが自分のデータにアクセスできるようにする許可をアプリに付与する必要があり、これは OAuth トークンを介して行われます (私が提供できるよりもはるかに優れた説明については、ドキュメントを参照してください)。

于 2012-08-14T21:24:17.137 に答える