我的应用程序允许通过Facebook进行用户身份验证。我正在调用FB Graph API以获取登录用户的详细信息,如此...
https://graph.facebook.com/<fbUserId>
但有时我发现该电子邮件地址不是返回的字段之一。我认为这是因为当提示用户允许我的应用访问其公开个人资料和电子邮件地址时,用户选择不提供他们的电子邮件地址。但我的应用需要电子邮件地址。有没有什么办法可以让我通过图谱API告诉FB,以便编辑你所提供的信息&#34;对话框重新出现,以便用户随后可以选择提供他们的电子邮件地址?
答案 0 :(得分:1)
我认为您在询问如何重新提示拒绝许可的用户,以便他们被要求授予已拒绝的权限?
如果是这样,您可以Rails Documentation for inclusion然后重新提示以前被拒绝的内容 - 正如您所指出的那样,如果用户已经拒绝,则不会多次提示用户接受权限它
要重新请求,请在调用FB.Login()(javascript)或调用“登录”对话框时使用auth_type: rerequest
;我相信移动SDK会自动处理此问题(例如IOS SDK中的FBSDKLoginManager
)
请注意,根据您的具体示例,用户可能无法通过API访问电子邮件地址,即使他们确实授予您email
权限,因为他们可能拥有无法访问的地址,是没有确认地址的用户,使用手机号码等注册到Facebook
因此,您可能需要为用户构建一个用户界面,以便手动提供他们的电子邮件地址,如果您的应用确实需要该信息