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

使用Go调用GCP resourcemanager API列组织文件夹时返回404错误如何解决

问题根因

你遇到的报错和.proto文件没有任何关系,GCP官方的Go客户端已经预编译了所有需要的协议定义,无需自行编写引入。404错误是请求参数或者权限配置不对导致的。

排查解决步骤

  • 修正Parent参数格式
    ListFoldersRequest的Parent字段不能填组织的显示名称,必须填写组织的数字ID,格式为organizations/[数字ID],你可以登录GCP控制台,进入「IAM与 admin」-「组织设置」页面查看你的组织数字ID。
  • 启用Cloud Resource Manager API
    你用来认证的GCP项目必须先启用Resource Manager API才能调用,执行以下gcloud命令即可启用:
    gcloud services enable cloudresourcemanager.googleapis.com
    
  • 检查账号权限
    你当前使用的GCP认证身份(用户账号或者服务账号)必须持有目标组织的resourcemanager.folders.list权限,最简单的配置是给该账号分配组织层级的「Folder Viewer」角色。

代码优化建议

你现有代码的循环逻辑存在问题,遇到错误之后也会累加尝试次数,可能还没拿到正常结果就提前退出,可以调整为:

for {
    resp, err := it.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        log.Println(err)
        tries++
        if tries >=3 {
            log.Fatalln("超过最大尝试次数,退出")
        }
        continue
    }
    log.Println(resp)
}

内容的提问来源于stack exchange,提问作者Emre Chomko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:36:03