ラベル Firebase の投稿を表示しています。 すべての投稿を表示
ラベル Firebase の投稿を表示しています。 すべての投稿を表示

2021-11-07

com.google.android.gms.common.api.ApiException: 12500: のエラーに対する対応

FlutterでFirebase使ったGoogle認証をする際に、よくこのエラーに遭遇するのでメモ書き。詳細は、参考サイトを参照のこと。

このエラーに対する解決策は主に以下の方法

  1. Firebaseプロジェクトの認証でGoogle認証を有効にする
  2. Firebaseプロジェクトにメールアドレスを登録する
  3. google-service.jsonファイルをダウンロードしなおす
  4. build.gradleの設定を確認する(プロジェクトレベルとアプリレベルの2つのファイルの設定が必要)
  5. FirebaseにSHA1、SHA256キーを登録する(SHA1だけでも良い?)
  6. エミュレーターをGoogle Play Storeに対応しているものに変更する

参考サイト



2021-10-31

FlutterでGoogle signinの画面が終わらない場合の処理

 FlutterのGoogle siginの処理で初歩的なミスで躓いたのでメモ書き。(なお、FlutterでのGoogle siginの処理のための各種処理の話はここでは省略します)

【症状】

  • Google signinの画面で、待機画面からずっと画面が遷移しない
  • スコープがemailの場合はうまくいくが、それ以外のスコープを指定するとダメ
【解決策】
  • Filebaseに登録しているアプリでの認証で、Fingerprintの情報はSHA-1だけでなく、SHA256も追加する。 
ということで無駄な時間を浪費しました。Google siginの処理の情報をネットでググると、SHA-1の情報を登録する記述はよく見るのですが、SHA256も必要だとは。。。
ちなみに、ログイン認証だけならSHA-1だけでOKです。今回は、Drive APIを扱おうとしてエラーがでました。



2021-10-24

Firebaseを用いてGoogle認証をする(クライアント処理、Flutter,Dart編)

 FlutterでGoogle認証するためのメモ書きです。メソッドがバージョンによって変わっているのか、ネットの情報どおりに書いても動かなかったケースがありました。今回のケースでは

  • ダメなケース→ await googleLogin.signIn();
  • OKなケース→  await GoogleSignIn().signIn();

という記述ですね。前者だと認証がいつまで経っても終わりませんでした。Flutterに最近手をつけ始めてますが、Gradle,Dart, Flutterなどのバージョン調整がいろいろめんどくさいですね。





2020-03-31

PythonでFirebaseを用いる際のサービスアカウント情報の設定

最近、ボチボチとGAEとかFirebaseとか、いわゆるGCP周りのサービスを触っているのですが、それらを利用するための認証系のところがいまいち理解できてなくて、急にプログラムが認証できなくなったりして、、、ということがあったのでメモ書きです。

エラーの例
以下のようなエラーがでた場合、認証系のところでトラブってることになります
google.auth.exceptions.DefaultCredentialsError: Could not automatically determine credentials. Please set GOOGLE_APPLICATION_CREDENTIALS or
explicitly create credential and re-run the application.

サービスアカウントの設定方法
GCPの管理画面でサービスアカウントキーを作成してダウンロード(jsonファイル)しておきます。認証設定しないといけない箇所は
  • 環境変数の設定
  • CREDENTIALS情報の読み込み
の2つです。実は、前者の環境変数を設定しておけばコード内に認証情報を明示的に指定する必要はありません。環境変数の設定はシェルで設定するPythonかプログラムで明示的に設定するかのいずれかですが、認証ファイルの情報をコード内で明示的に書かないほうがいいので、シェルで環境変数を設定するのがベターです。Pythonの場合は下記の通りです。