我的 config/initializers/omniauth.rb 中有以下配置
provider :facebook, id, secret, {scope: 'email, user_location, user_birthday', image_size: {width: 400, height: 400}}
但身份验证哈希不附带用户的位置信息。
我按照指南阅读了 facebook 的文档,但不知道出了什么问题。有没有遗漏的步骤?
有人知道吗?
我的 config/initializers/omniauth.rb 中有以下配置
provider :facebook, id, secret, {scope: 'email, user_location, user_birthday', image_size: {width: 400, height: 400}}
但身份验证哈希不附带用户的位置信息。
我按照指南阅读了 facebook 的文档,但不知道出了什么问题。有没有遗漏的步骤?
有人知道吗?
将用户位置添加到您的scope
只是意味着您的应用有权读取用户的位置。这并不意味着 FB 会发送给您。您需要进行 FB API 调用才能找到它。查看 Koala gem - 使用您从登录获得的 access_token 对其进行初始化,然后调用 FB 查找位置。
为请求图 API 使用“考拉”宝石
并使用“/我/位置”请求
您必须准确指定在获取用户信息时应返回哪些字段。可以用info_fields
参数来完成
provider :facebook, id, secret, {
scope: 'email, user_location, user_birthday',
image_size: {width: 400, height: 400},
info_fields: 'email, name, location'
}