📱

【Flutter】Firebase x Facebook ログインで出たエラーの解決法

2021/10/08に公開

firebase authenticationを使って、facebookアカウントを使ったログイン機能を実装したよ🤗

使ったパッケージは以下2つ。

  • firebase_auth: ^3.1.1
  • flutter_login_facebook: ^1.1.0

facebookデベロッパーアカウントでの設定とコードの準備

facebookログイン機能を使うには、
facebookのアカウントと、さらにデベロッパーアカウントを準備する必要があった。

このページは手順を飛ばさず書いてくださっていて、とても参考になりました🙇‍♀️
https://blog.dalt.me/2200

書くコードは、flutterfireの公式ドキュメントそのままでOK。
https://firebase.flutter.dev/docs/auth/social
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