質問編集履歴
1
コード追加
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
facebook
|
1
|
+
facebook omniauth での email取得ができない
|
body
CHANGED
@@ -1,7 +1,22 @@
|
|
1
1
|
facebookのapiを使用して、facebookアカウントでのログイン機能を実装しました。
|
2
|
-
新規ログイン時に、facebookアカウントに登録されているemailを取得したいのですが、debuggerでfacebookから取得した各要素を見ても、emailがどこにもありません。
|
2
|
+
新規ログイン時に、facebookアカウントに登録されているemailを取得したいのですが、debuggerでfacebookから取得した各要素を見ても、emailがどこにもありません(以下)。
|
3
|
+
```rails
|
4
|
+
#<OmniAuth::AuthHash credentials=#<OmniAuth::AuthHash expires=true
|
5
|
+
expires_at=****** token="*****"> extra=#<OmniAuth::AuthHash raw_info=#<OmniAuth::AuthHash
|
6
|
+
id="****" name="Ozaki">> info=#<OmniAuth::AuthHash::InfoHash
|
7
|
+
image="http://graph.facebook.com/v2.10/*****/picture" name="Ozaki">
|
8
|
+
provider="facebook" uid="*****">
|
9
|
+
```
|
3
10
|
そこで、facebookデベロッパーツールの承認済みアイテムを見ると、eメールの取得権限はデフォルトで備わっていると書いてあります。
|
4
11
|
書いてあることと実際が合っていなく、解決策が見つかりません。
|
12
|
+
教えていただきたいです。
|
5
13
|
___
|
6
14
|
**試したこと**
|
7
|
-
twitterのapiと同様に、プライバシーポリシーと利用規約のURLを記述し、変更を保存しましたが、特に何も変わりませんでした。
|
15
|
+
twitterのapiと同様に、プライバシーポリシーと利用規約のURLを記述し、変更を保存しましたが、特に何も変わりませんでした。
|
16
|
+
また、omniauth.rbは以下です。scopeとinfo_fieldsで正しく設定しているつもりです。
|
17
|
+
```omniauth
|
18
|
+
Rails.application.config.middleware.use OmniAuth::Builder do
|
19
|
+
provider :facebook, ENV['FACEBOOK_ID'], ENV['FACEBOOK_SECRET'],
|
20
|
+
scope: 'email', info_fields: 'email'
|
21
|
+
end
|
22
|
+
```
|