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

生成的Codelab无法渲染,storage.googleapis.com文件访问权限异常求助

修复Codelabs教程无法渲染的资源权限问题

你遇到的错误:

Anonymous caller does not have storage.objects.get access to the Google Cloud Storage object. Permission 'storage.objects.get' denied on resource (or it may not exist).

是因为Google官方托管在storage.googleapis.com的Codelab依赖资源调整了访问权限,导致匿名访问被拒绝。以下是几种可行的修复方案:

方案1:升级claat工具到最新版本

Google可能已经更新了claat的默认资源引用地址,解决了权限问题。执行以下命令升级claat:

go install github.com/googlecodelabs/tools/claat@latest

升级完成后,重新用claat生成你的教程文档,检查生成的HTML是否已经替换了资源链接,再测试渲染效果。

方案2:本地托管依赖资源

如果升级后问题依旧,可以手动将依赖资源下载到本地,替换HTML中的远程链接:

  • 从Google Codelabs官方仓库中找到codelab-elements.css和codelab-elements.js文件,下载到你的教程项目的静态资源目录(比如./assets/)
  • 批量替换生成的HTML文件中的远程资源链接:
    • 将<link rel="stylesheet" href="https://storage.googleapis.com/codelab-elements/codelab-elements.css">替换为./assets/codelab-elements.css
    • 将<script src="https://storage.googleapis.com/codelab-elements/codelab-elements.js"></script>替换为./assets/codelab-elements.js
  • 若不想每次生成后手动替换,可以自定义claat模板:复制claat的默认模板,修改其中的资源引用为本地路径,生成时通过--template参数指定自定义模板。

方案3:替换为公开可访问的CDN资源

如果不想托管本地资源,可以将下载的资源上传到你自己的静态资源托管服务(如自定义GCS Bucket、Cloudflare Pages等),确保资源允许匿名访问,然后替换HTML中的资源链接为你的托管地址。

内容的提问来源于stack exchange,提问作者Ashwin Settar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:35:49