Gen App Builder集成中的公共访问权限问题排查
解决Gen App Builder搜索小部件401权限错误的方案
1. 修正Gen App Builder的授权域名配置
你当前填写的storage.googleapis.com过于宽泛,需匹配网页的实际访问域名:
- 若网页访问URL为
https://storage.googleapis.com/[你的存储桶名]/[HTML文件名].html,需添加storage.googleapis.com到授权域名列表; - 若使用存储桶子域名访问(
https://[你的存储桶名].storage.googleapis.com/[HTML文件名].html),需添加[你的存储桶名].storage.googleapis.com到授权域名; - 填写域名时不带http/https协议,也不要附加路径后缀。
2. 配置Cloud Storage的CORS规则
Cloud Storage需要允许Gen App Builder API的跨域请求,创建cors.json文件,内容如下:
[ { "origin": ["https://storage.googleapis.com", "https://[你的存储桶名].storage.googleapis.com"], "method": ["GET", "POST"], "responseHeader": ["Content-Type"], "maxAgeSeconds": 3600 } ]
通过gcloud命令更新存储桶的CORS配置:
gcloud storage buckets update gs://[你的存储桶名] --cors-file cors.json
3. 恢复reCAPTCHA徽章可见性
你的代码中隐藏了reCAPTCHA徽章(.grecaptcha-badge { visibility: hidden; }),而public授权模式下,Gen App Builder搜索小部件依赖reCAPTCHA完成人机验证,隐藏徽章会导致验证失败触发401错误。移除这段CSS代码:
<!-- 删除以下样式代码 --> <style> .grecaptcha-badge { visibility: hidden; } </style>
4. 验证存储桶公开访问权限
确保存储桶及文件的权限配置正确:
- 确认目标HTML文件已设置为“公开访问”;
- 检查存储桶IAM权限,确保
allUsers角色拥有Storage Object Viewer权限(建议仅针对需要公开的文件/路径配置,避免给整个存储桶开放全权限)。
5. 清除缓存后重新测试
隐身模式下可能残留旧权限缓存,关闭所有隐身窗口后重新打开网页测试。
内容的提问来源于stack exchange,提问作者eebruu
相关产品推荐
相关产品推荐

