使用Google Actions的gactions CLI工具时出现couldn't fetch versions错误求助
解决 "couldn't fetch versions - requested entity was not found" 错误的实用方案
我来帮你梳理下这个问题的排查方向,结合你描述的场景——能正常更新Actions包,但没法用list命令获取版本ID,进而无法执行get/test操作,且Action在Google Home和模拟器运行正常,没法获取在线源码调试HTTP响应——试试下面这些针对性的方法:
1. 重置CLI身份认证
有时候CLI的认证会话会出现权限偏差,虽然能更新包,但版本查询的权限可能异常:
- 先清除现有认证:
gcloud auth revoke - 重新登录账号:
gcloud auth login,确保登录的是该Action项目的拥有者或编辑者账号 - 重新绑定项目:
gcloud config set project [你的项目ID],这里的项目ID必须和Actions Console里的项目ID完全一致(注意区分大小写和特殊字符,别用项目显示名称)
2. 校验项目实体匹配度
这个错误的核心是CLI找不到请求的实体,大概率是项目ID不匹配:
- 先查看当前CLI绑定的项目:
gcloud config get-value project - 登录Actions Console,找到你的Action,进入「项目设置」确认完整的项目ID,和CLI输出的对比,确保完全一致
- 尝试直接指定项目ID执行list命令:
actions versions list --project [完整项目ID],避免CLI自动匹配出错
3. 更新Actions CLI到最新版
旧版本的CLI可能和Actions平台存在兼容性问题:
- 查看当前CLI版本:
actions --version - 执行更新(如果是npm安装的):
npm update -g @assistant/actions-cli,其他安装方式对应更新到最新稳定版 - 更新完成后重新尝试
actions versions list命令
4. 检查项目IAM权限细节
即使能更新包,版本查询可能需要更高权限:
- 登录Google Cloud Console,找到对应项目,进入「IAM & Admin」→「IAM」页面
- 确认你的账号拥有「Actions API Admin」或「Project Editor」及以上的角色,仅「Actions Developer」权限可能不足以查询版本列表
- 若权限不足,添加对应角色后,重新登录CLI再尝试操作
5. 绕过版本ID的临时调试方案
如果暂时没法通过CLI获取版本ID,试试这些替代方法继续调试:
- 直接在Actions Console的「Deploy」页面查看已部署的版本信息,这里会显示版本ID,复制后就能执行
actions versions get或test命令 - 利用Actions Simulator的日志功能:触发Action后,打开「Logs」面板,这里能看到完整的请求和响应HTTP数据,不需要依赖CLI就能调试接口
内容的提问来源于stack exchange,提问作者mleonard
相关产品推荐
相关产品推荐

