Google Cloud Storage認証の使用

クリスG:

サーバーでgoアプリケーションを実行しています。アプリケーションは、画像をGoogle Cloud Storageに保存するためのアクセス権を必要とします。Googleクラウドストレージの認証文書PKCS12キーを作成する方法を見ることができています。

使ってます

import(
storage "google.golang.org/api/storage/v1"
)

このキーをアプリケーションのgolang "ストレージ"クライアントでどのように使用しますか?

よろしく

Shahriar:
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

これがお役に立てば幸いです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

TOP 一覧

  1. 1

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  2. 2

    PictureBoxで画像のブレンドを無効にする

  3. 3

    HTTPヘッダー 'SOAPAction'の値はサーバーによって認識されませんでした

  4. 4

    レスポンシブウェブサイトの一番下にスティッキーなナビゲーションバーを作成するのに問題がある

  5. 5

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  6. 6

    Ansibleで複数行のシェルスクリプトを実行する方法

  7. 7

    Python / SciPyのピーク検出アルゴリズム

  8. 8

    ZScalerと証明書の問題により、Dockerを使用できません

  9. 9

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  10. 10

    tf.nn_conv2dとtf.nn.depthwise_conv2dの違い

  11. 11

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  12. 12

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  13. 13

    テキストフィールドの値に基づいて UIslider を移動します

  14. 14

    amCharts 4で積み上げ棒グラフの輪郭を描く方法は?

  15. 15

    MLでのデータ前処理の背後にある直感

  16. 16

    Postmanを使用してファイル付きの(ネストされた)jsonオブジェクトを送信する

  17. 17

    「埋め込みブラウザのOAuthログイン」を有効にしてコールバックURLを指定した後でも、Facebookのコールバックエラーが発生する

  18. 18

    Officeアドインを使用してOutlookの連絡先のリストにプログラムでアクセスすることは可能ですか?

  19. 19

    モジュラーJava Webアプリケーションを作成する最良の方法は何ですか

  20. 20

    Chromeウェブアプリのウェブビューの高さの問題

  21. 21

    ezdxf pythonパッケージを使用して既存のdxfファイルを変更するにはどうすればよいですか?

ホットタグ

アーカイブ