亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試列出 GCP 組織內的文件夾時出錯

嘗試列出 GCP 組織內的文件夾時出錯

Go
呼如林 2022-10-10 19:10:52
我正在嘗試在 GO 中編寫一個簡單的代碼,該代碼使用resourcemanager API列出 GCP 中組織下的所有文件夾。下面是我的代碼:package mainimport (   "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,所以這一切對我來說似乎很混亂。很感謝任何形式的幫助!
查看完整描述

1 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

遷移到 API v3 解決了這個問題。這完美!


感謝所有發表評論的人以及找到解決方案的同事!


package main


import (

    "context"

    "fmt"

    "log"


    cloudresourcemanager "google.golang.org/api/cloudresourcemanager/v3"

)


func main() {

    ctx := context.Background()

    svc, err := cloudresourcemanager.NewService(ctx)

    if err != nil {

        log.Fatal(err)

    }

    foldersService := cloudresourcemanager.NewFoldersService(svc)

    foldersListCall := foldersService.List()

    foldersListCall.Parent("organizations/<MY-ORG-ID>")

    resp, err := foldersListCall.Do()

    if err != nil {

        log.Fatal(err)

    }

    for _, fld := range resp.Folders {

        fmt.Println(fld.DisplayName)

    }

}


查看完整回答
反對 回復 2022-10-10
  • 1 回答
  • 0 關注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號