我正在尝试在 GO 中编写一个简单的代码,该代码使用resourcemanager API列出 GCP 中组织下的所有文件夹。下面是我的代码:
package main
import (
"context"
"log"
resourcemanager "cloud.google.com/go/resourcemanager/apiv2"
"google.golang.org/api/iterator"
resourcemanagerpb "google.golang.org/genproto/googleapis/cloud/resourcemanager/v2"
)
func main() {
ctx := context.Background()
c, err := resourcemanager.NewFoldersClient(ctx)
if err != nil {
// TODO: Handle error.
log.Println("Error: Failed to start client.")
}
defer c.Close()
req := &resourcemanagerpb.ListFoldersRequest{
Parent: "organizations/<MY-ORG-NAME>",
}
it := c.ListFolders(ctx, req)
tries := 0
for {
resp, err := it.Next()
if err == iterator.Done || tries == 3 {
break
}
if err != nil {
log.Println(err)
}
// TODO: Use resp.
log.Println(resp)
tries++
}
}
代码直接从 API 文档复制,我只是添加了我的组织名称,添加了一些日志功能并限制了 for 循环中的尝试,因为它无休止地打印错误。
每当我运行代码时,我都会收到以下错误消息:
2021/11/04 17:06:41 rpc error: code = Unimplemented desc = unexpected HTTP status code received from server: 404 (Not Found); transport: received unexpected content-type "text/html; charset=UTF-8"
我不确定这是否是解决方案,但是;我想我需要.proto在我的目录中添加一个文件才能让它工作,但我不明白如何做到这一点或究竟要放什么。我是 GO 新手,这是我第一次使用 API,所以这一切对我来说似乎很混乱。
很感谢任何形式的帮助!
呼如林
胡说叔叔
随时随地看视频慕课网APP
相关分类