使用gcloud auth登录Google Cloud遇应用被阻止及应用密码无效问题求助
解决gcloud auth登录提示"This app is blocked"及应用密码无效的问题
一、解决"This app is blocked"问题
这个提示通常由两种情况导致,对应解决方式如下:
- 个人账号场景:
若你的Google账号开启了高级保护程序,会直接阻止这类CLI工具的OAuth授权流程。你需要暂时关闭该保护:- 进入Google账号设置→安全→高级保护程序
- 临时关闭保护,完成gcloud授权后再重新开启
- 企业/组织账号场景:
大概率是组织管理员限制了第三方应用访问敏感权限(比如https://mail.google.com/这类全邮箱权限)。联系管理员申请放开你的账号权限,或调整OAuth应用的权限策略。 - 额外检查:确保gcloud SDK是最新版本,执行以下命令更新:
gcloud components update
二、应用密码无效的原因
应用密码仅适用于开启两步验证但未启用高级保护的账号,且仅支持传统用户名密码登录的应用。gcloud auth application-default login采用的是OAuth 2.0授权流程,根本不支持应用密码登录,所以这个方法从一开始就不可行,无需再尝试。
三、替代方案(无法调整账号/组织权限时)
如果上述方法暂时无法实施,可以改用服务账号密钥完成授权:
- 登录GCP控制台,进入「IAM与管理」→「服务账号」页面
- 创建新服务账号,为其分配Gmail相关权限(比如Gmail API的编辑/只读权限)
- 生成JSON格式的服务账号密钥文件并下载到本地
- 在PowerShell中设置环境变量,指定密钥文件路径:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\绝对路径\到\你的\服务账号密钥.json" - 之后运行相关代码时,会自动使用该服务账号的权限,无需交互式登录。
内容的提问来源于stack exchange,提问作者danielm2402
相关产品推荐
相关产品推荐

