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)