質問編集履歴

1

コード追加

2019/05/27 03:20

投稿

zakky_kun
zakky_kun

スコア12

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