golangでFirebaseを操作

未分類


golangを操作する為のキーを取得する。

プロジェクトの概要の部分からプロジェクトの設定を押下します。

サービスアカウントを選択し新しい秘密鍵の生成をクリックします。

生成した秘密鍵はSeviceAccountKey.jsonにリネームします。

golangのサーバーへの追加

gopathで下記を実行してインストールします。
インストールする事でgolangでimport可能になります。

go get -u firebase.google.com/go

golangでのfirebaseへの接続

下記のコードでfirebaseへの接続を確認します。
golangでimportするのは下記

import (
  "fmt"
  "context"

  firebase "firebase.google.com/go"
  "firebase.google.com/go/auth"

  "google.golang.org/api/option"
)

firebaseへの認証接続情報を取得します。

     // ctxを再利用する為下記のように書きます。
     ctx := context.Background()
     sa := option.WithCredentialsFile("serviceAccountKey.json")
     app, err := firebase.NewApp(ctx, nil, sa)
     if err != nil {
          fmt.Println("接続エラー。")
     }
            
     client, err := app.Auth(ctx)
     if err != nil {
          fmt.Println("error getting Auth client: %v\n", err)
     }

ユーザー情報の更新を下記コードでします。

params := (&auth.UserToUpdate{}).
        Email("user@example.com").
        EmailVerified(true).
        PhoneNumber("+15555550100").
        Password("newPassword").
        DisplayName("John Doe").
        PhotoURL("http://www.example.com/12345678/photo.png").
        Disabled(true)
u, err := client.UpdateUser(ctx, uid, params)
if err != nil {
        log.Fatalf("error updating user: %v\n", err)
}
log.Printf("Successfully updated user: %v\n", u)