Swift 3:尝试使用Fabric从Twitter获取电子邮件时为零

时间:2017-04-25 10:17:55

标签: ios swift3 xcode8 twitter-fabric

我使用此声明从Twitter获取用户电子邮件:

I tested this code and it returns a nil for the email address!                                      `  let client = TWTRAPIClient.withCurrentUser()
                    let request = client.urlRequest(withMethod: "GET",
                                                    url: "https://api.twitter.com/1.1/account/verify_credentials.json",
                                                              parameters: ["include_email": "true", "skip_status": "true"],
                                                              error: nil)

                    client.sendTwitterRequest(request) { response, data, connectionError in
                        if (connectionError == nil) {

                            do{
                                let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as! [String:Any]
                                print("Json response: ", json)
                                let firstName = json["name"]
                                let lastName = json["screen_name"]
                                let email = json["email"]
                                print("First name: ",firstName!)
                                print("Last name: ",lastName!)
                                print("Email: ",email!)
                            } catch {

                            }

                        }
                        else {
                            print("Error: \(connectionError)")
                        }
                    }

`

但遗憾的是它返回零!

我已经将我的应用程序列入白名单,我收到了来自Twitter团队的电子邮件,告诉我所有授权都已授予我的应用程序。

email from Twitter

2 个答案:

答案 0 :(得分:1)

您的应用和Twitter SDK没有配置问题。由于用户未允许从其个人资料隐私设置访问Email字段,因此您的回报为nil。您可以更改隐私设置并开始在代码中获取此值。或用户尚未在帐户中添加电子邮件ID。

答案 1 :(得分:0)

API不会向您返回电子邮件地址。如果您对用户的电子邮件地址感兴趣,则必须在自己的应用程序中将用户视为完全不同的行为。