使用 Google Cloud Storage 身份验证

我在服务器上运行了一个 go 应用程序。应用程序需要访问权限才能将图像保存到 Google Cloud Storage。从Google Cloud Storage 身份验证文档中可以看到如何创建 PKCS12 密钥。


我在用


import(

storage "google.golang.org/api/storage/v1"

)

您如何在应用程序中将这个密钥与 golang“存储”客户端一起使用?


慕桂英546537
浏览 224回答 1
1回答

慕运维8079593

func ExampleJWTConfigFromJSON() {    // Your credentials should be obtained from the Google    // Developer Console (https://console.developers.google.com).    // Navigate to your project, then see the "Credentials" page    // under "APIs & Auth".    // To create a service account client, click "Create new Client ID",    // select "Service Account", and click "Create Client ID". A JSON    // key file will then be downloaded to your computer.    data, err := ioutil.ReadFile("/path/to/your-project-key.json")    if err != nil {        log.Fatal(err)    }    conf, err := google.JWTConfigFromJSON(data, "https://www.googleapis.com/auth/bigquery")    if err != nil {        log.Fatal(err)    }    // Initiate an http.Client. The following GET request will be    // authorized and authenticated on the behalf of    // your service account.    client := conf.Client(oauth2.NoContext)    client.Get("...")}--func JWTConfigFromJSON(jsonKey []byte, scope ...string) (*jwt.Config, error){    var key struct {        Email      string `json:"client_email"`        PrivateKey string `json:"private_key"`    }    if err := json.Unmarshal(jsonKey, &key); err != nil {        return nil, err    }    return &jwt.Config{        Email:      key.Email,        PrivateKey: []byte(key.PrivateKey),        Scopes:     scope,        TokenURL:   JWTTokenURL,    }, nil}详情:https://github.com/golang/oauth2/blob/master/google/example_test.go https://github.com/golang/oauth2/blob/master/google/google.go希望这会有所帮助。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go