Facebook图表请求正在返回名称,但不是电子邮件
我正在使用图表API从Facebooklogin返回我的名字和电子邮件。 这是我使用的代码 – 名称恢复正常,但电子邮件是零:
func getUserInfo() { let params = ["fields" : "email, name"] let graphRequest = GraphRequest(graphPath: "me", parameters: params) graphRequest.start { (urlResponse, requestResult) in switch requestResult { case .failed(let error): print("error in graph request:", error) break case .success(let graphResponse): if let responseDictionary = graphResponse.dictionaryValue { print(responseDictionary) if let name = responseDictionary["name"] { self.nameLabel.text = "Logged in as: \n\(name)" } if let email = responseDictionary["email"] { self.emailLabel.text = "Your email is: \n\(email)" } else { self.emailLabel.text = "Your email is: " } print(responseDictionary["name"]) print(responseDictionary["email"]) } } } }
这是打印到我的控制台:
["id": 1653899307960705, "name": *my name removed for privacy*] Optional(*my name removed for privacy*) nil
我不知道我的代码是错误的还是只是一个错误 – 我指定电子邮件和名称作为我的参数,但正如你所看到的只有名字回来。 任何人都知道这是为什么发生?
您的代码是绝对正确的,那么facebookgraphicsAPI不提供电子邮件的可能性很小:
- 注册用户已经提交了电子邮件,但未经过validation
- 用户将电子邮件(可见性)设置为私人/限制访问仅限于朋友(不公开)
检查/您的帐户的帐户设置(电子邮件是有效的和validation的,以及它是公开的)
我忘了带电子邮件许可,所以在这里我分享你的代码,以获得许可。
func fbLoginInitiate() { let loginManager = FBSDKLoginManager() loginManager.logInWithReadPermissions(["public_profile", "email","user_friends"], handler: {(result:FBSDKLoginManagerLoginResult!, error:NSError!) -> Void in if (error != nil) { // Process error self.removeFbData() } else if result.isCancelled { // User Cancellation self.removeFbData() } else { //Success if result.grantedPermissions.contains("email") && result.grantedPermissions.contains("public_profile") && result.grantedPermissions.contains("user_friends"){ //Here you need to call your function for graphRequest self.getUserInfo() } else { //Handle error } } }) } func removeFbData() { //Remove FB Data let fbManager = FBSDKLoginManager() fbManager.logOut() FBSDKAccessToken.setCurrentAccessToken(nil) }
- 如何在iOS社交框架中使用SLRequest获取Facebook的电子邮件参数
- 何时更新ACAccount? 或者,如何检查凭证是否过期。 (Facebook)的
- 如何在react-native中实现本地模块?
- Facebook应用程序请求不显示在iOS设备上?
- 在目标C中如何在朋友的墙上分享多个post
- 如果Twitter或Facebook帐户没有在iOS 6上configuration,该怎么办?
- Amazon Cognito iOS SDK V2使用Facebook和Google+提供者身份validation问题
- iOS的FacebookgraphicsAPI个人资料图片链接
- FBFriendPickerViewController在iOS上显示和清空表格。 放置选取器运行良好