关联Monetized YouTube账号的Google账号授权应用时出现"The App is blocked"错误的技术咨询
解决YouTube API授权时"The App is blocked"(仅商业化频道触发)的问题
这问题我之前帮同行排查过类似的,大概率是Google针对商业化频道的安全策略或者OAuth配置限制导致的,给你梳理几个核心排查方向和解决办法:
1. 先检查OAuth Consent Screen的状态
如果你的应用还处于Testing阶段,Google会严格限制只有添加到「测试用户」列表里的账号才能完成授权。商业化频道的账号如果没被加入测试列表,直接授权就会触发拦截。这种情况的解决办法是:
- 登录Google Cloud Console,找到你的项目的「API & Services > OAuth consent screen」
- 提交应用进行OAuth Verification,把状态升级为Production。注意提交时要准确填写应用的用途、权限说明,避免审核被拒。
2. 核对API权限范围(Scopes)
商业化频道的账号对API权限的敏感度更高,如果你请求了不必要的敏感权限,Google会直接拦截授权:
- 确认你请求的scope只包含必要的内容,比如仅获取频道信息的话,
https://www.googleapis.com/auth/youtube.readonly或者https://www.googleapis.com/auth/youtube.force-ssl就足够了,不要请求youtube这种全权限的scope。 - 在OAuth consent screen的「Scopes for Google APIs」里,确保只添加实际用到的权限,多余的敏感权限会触发更严格的安全检查。
3. 排查项目的安全告警
有时候Google会因为异常请求行为或者未验证的应用,暂时拦截授权请求:
- 进入Google Cloud Console的「Security > Safety Center」,查看是否有相关的安全提示,比如「未验证的应用」「权限滥用风险」之类的告警,按照提示修复。
- 检查OAuth客户端ID的状态,在「API & Services > Credentials」里,确认客户端ID没有被标记为「可疑」或者「受限」。
4. 针对商业化频道的特殊检查
关联YouTube Partner Program(YPP)的商业化频道,Google会有额外的安全验证机制:
- 确认你的应用是否需要访问YPP相关数据(比如收益信息),如果只是获取基础频道信息,不需要额外的YPP权限,但还是要确保你的应用没有触发YPP账号的安全规则。
- 尝试用该商业化频道账号登录Google Cloud Console,查看账号本身是否有API访问限制(比如是否禁用了YouTube Data API)。
5. 调试获取更详细的错误信息
只靠"The App is blocked"很难定位问题,建议开启调试模式:
- 在授权URL中添加
access_type=offline和prompt=select_account参数,强制显示账号选择界面并保留刷新令牌。 - 打开浏览器的开发者工具(F12),查看授权请求的网络响应,获取具体的错误代码(比如
error=access_denied、error=invalid_scope等),这些代码能帮你更精准地定位问题。
如果以上方法都没解决,可以直接在Google Cloud Console提交支持工单,选择YouTube API相关的分类,提供你的项目ID、授权时的错误日志,让Google的技术团队帮忙排查。
内容的提问来源于stack exchange,提问作者Pat Ceniza
相关产品推荐
相关产品推荐

