【发布时间】:2021-11-04 20:42:41
【问题描述】:
我正在浏览cloudresourcemanager 包的documentation 并尝试构建一个简单的示例来列出我的GCP 项目的文件夹。
下面的例子失败了
package main
import (
"context"
"fmt"
"log"
cloudresourcemanager "google.golang.org/api/cloudresourcemanager/v2"
)
func main() {
ctx := context.Background()
svc, err := cloudresourcemanager.NewService(ctx)
if err != nil {
log.Fatal(err)
}
foldersService := cloudresourcemanager.NewFoldersService(svc)
fmt.Println(foldersService)
foldersListCall := foldersService.List()
resp, err := foldersListCall.Do()
if err != nil {
fmt.Println("Here")
log.Fatal(err)
}
for _, fld := range resp.Folders {
fmt.Println(fld.Name)
}
}
失败了
resp, err := foldersListCall.Do()
错误是
googleapi: Error 400: Request contains an invalid argument., badRequest
我设置了以下环境变量
GOOGLE_CLOUD_PROJECT=my-project-id
GOOGLE_APPLICATION_CREDENTIALS=/path/to/application_default_credentials.json
gcloud cli 工作正常。
有什么我可能遗漏的建议吗?
【问题讨论】:
-
您确定为您的凭证启用了编程访问吗?我知道 AWS 区分了 cli 和编程,也许 GCP 也可以?只是一个想法
标签: go google-cloud-platform google-cloud-resource-manager