我正在使用Flask-Dance让用户使用google登录。但是当我转到下面的路线时,它告诉我:"函数"对象没有属性"get"。 我做错了什么?
如果我写"如果不是google.authorized",它也会引发错误。
from flask_dance.contrib.google import make_google_blueprint, google
app.register_blueprint(google_blueprint, url_prefix='/login')
google_blueprint = make_google_blueprint(client_id='client_id', client_secret='client_secret')
@app.route('/google')
def google():
if not google_blueprint.authorized:
return redirect(url_for('google.login'))
account_info = google.get("/plus/v1/people/me")
assert account_info.ok, account_info.text
return "You are {email} on Google".format(email=resp.json()["emails"][0]["value"])
更改函数的名称
从 flask_dance.contrib.google import make_google_blueprint,google
defgoogle((:
您在第 1 行导入google
,但稍后在第 7 行定义了一个函数google
该函数,该函数从导入中覆盖对象并实质上隐藏它,因此第account_info = google.get("/plus/v1/people/me")
行尝试调用您的函数而不是您导入的google
模块。
将您的函数重命名为其他名称,例如google_endpoint
,它将起作用。