【发布时间】:2019-06-11 07:27:36
【问题描述】:
我在 Python 中使用 google_auth_oauthlib.flow 来授权 Google Oauth 2 帐户。
我的代码如下所示:
from google_auth_oauthlib.flow import InstalledAppFlow
flow = InstalledAppFlow.from_client_secrets_file(
"client_secret_929791903032.apps.googleusercontent.com.json",
scopes=['profile', 'email'])
flow.run_local_server(open_browser=False)
session = flow.authorized_session()
profile_info = session.get(
'https://www.googleapis.com/userinfo/v2/me').json()
print(profile_info)
基于run_local_server() 文档,我尝试设置open_browser=False,但随后Google 为我提供了一个URL 进行授权,它看起来像这样https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=929739191032-hpdm8djidqd8o5nqg2gk366efau34ea6q.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&scope=profile+email&state=oHJmupijpVH2gJEPqTogVVHIEtbVXcr&access_type=offline
点击提供的链接后,我的浏览器会自动打开并显示名为 Sign in with Google 的 UI,然后我必须在浏览器上手动登录。
所以我的问题是如何在不打开浏览器的情况下打开授权 URL?我希望我的代码自动授权而无需手动操作。
【问题讨论】:
-
您需要提供更多信息。从 URL 看来,您正在询问用户的个人资料 + 电子邮件。您希望用户如何允许您在不登录 Google 的情况下查看他们的 Google 电子邮件?
-
@pinoyyid 是的。这就是我想要的。不记录或自动记录
标签: python api google-oauth