【Flutter】Firebase x Facebook ログインで出たエラーの解決法
firebase authenticationを使って、facebookアカウントを使ったログイン機能を実装したよ🤗
使ったパッケージは以下2つ。
- firebase_auth: ^3.1.1
- flutter_login_facebook: ^1.1.0
facebookデベロッパーアカウントでの設定とコードの準備
facebookログイン機能を使うには、
facebookのアカウントと、さらにデベロッパーアカウントを準備する必要があった。
このページは手順を飛ばさず書いてくださっていて、とても参考になりました🙇♀️
書くコードは、flutterfireの公式ドキュメントそのままでOK。
facebookのパートに書かれているコード + エラーハンドリング等の追加でよいと思われる。上記ドキュメントには flutter_facebook_authを使うと書かれているけど、packageのページを確認すると
flutter_login_facebook
で良さげ。なんなんだろう?違いを教えてくださると嬉しいです。
エラー出た:アクセスレベルの編集をしていなかった
上記で書いた通りに準備して、実際にfacebookアカウントでログインしてみようと思ったらできなかった(汗)
『まだAPIを使うことを許可できてません』的なエラーメッセージだったと思う(エラーメッセージをメモるのを忘れてしまいました。ごめんなさい。。。)
facebookのデベロッパーツールから、アクセスレベルを変更しないといけなかった。
サイドメニューの アプリレビュー → アクセス許可と機能
この中の項目『public_profile』を デフォルトのstandard accessからadvanced accessに変更すると実際にログインできた。
注意(?!)パッケージがかぶってる
ネットでよく使われているものを参考にfacebookログインのパッケージを調べてみると、2021年10月5日時点で近いものが2つあった。
- flutter_facebook_login
- flutter_login_facebook
null safety対応なのはflutter_login_facebookなので、こちらが良いのではないかと思う。
メソッドは、若干名前が変わっているくらいでほぼ一緒みたい。
Discussion