You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取认证码时遇Access blocked错误,求Python解决方案

排查与解决Google OAuth Access Blocked错误

以下是针对你遇到问题的排查步骤和解决方案:

  • 重定向URI配置检查
    登录Google Cloud Console,找到你的OAuth客户端ID,确认urn:ietf:wg:oauth:2.0:oob已添加到已授权的重定向URI列表中。桌面应用类型的客户端默认支持该URI,但需手动确认配置无误。

  • 敏感范围的审核问题
    你使用的https://www.googleapis.com/auth/drive是全权限敏感范围,面向外部用户的应用必须提交Google审核才能使用。未通过审核前,普通外部用户会被拦截。建议先改用https://www.googleapis.com/auth/drive.file(仅访问应用创建的文件)这类非敏感范围测试,验证授权流程是否正常。

  • 客户端类型匹配
    确认创建的OAuth客户端ID是桌面应用类型,Web应用或其他类型不支持urn:ietf:wg:oauth:2.0:oob这类重定向方式,会导致授权失败。

  • 授权缓存清除
    修改代码中的prompt参数为prompt='select_account consent',强制用户重新选择账号并授权,避免旧的授权缓存干扰流程。

  • 测试账号验证
    如果应用是刚发布,先使用OAuth同意屏幕中添加的测试账号(或应用所属的Google Workspace账号)进行测试。这类账号不受审核限制,若测试账号仍报错,说明是配置问题而非审核问题。

修改后的测试代码

from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request

# 改用非敏感范围测试
SCOPES = ['https://www.googleapis.com/auth/drive.file']

CLIENT_SECRETS_FILE = 'client.json'

REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'
flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES, redirect_uri=REDIRECT_URI)
# 强制选择账号并重新授权
auth_url, _ = flow.authorization_url(prompt='select_account consent')
print(f'请访问此URL授权应用: {auth_url}')
auth_code = input('输入授权码: ')
flow.fetch_token(code=auth_code)
creds = flow.credentials
print(f'访问令牌: {creds.token}')
print(f'刷新令牌: {creds.refresh_token}')

内容的提问来源于stack exchange,提问作者timp bill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 14:52:52