我想制作使用Twitter登录的应用程序,所以我想从Twitter帐户获取一些数据,如id,用户名和电子邮件。
我有一个api,取3个参数,并返回成功,所以我想得到3个参数。
我有一个自定义按钮,我想当我点击这个按钮我想获得推特页面和我写的用户名和密码后我想获取数据
我配置Twitter和Fabric帐户。
我只想要一个函数来为我提取这些数据。
提前致谢
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
Fabric.with([TWTRTwitter.self])
// twitter configration
TWTRTwitter.sharedInstance().start(withConsumerKey:"----------", consumerSecret:"-------")
return true
}
您可以使用以下方法从twitter获取数据:
Twitter.sharedInstance().logIn { (session, error) in
if (session != nil) {
let credential = TwitterAuthProvider.credential(withToken: (session?.authToken)!, secret: (session?.authTokenSecret)!)
let username = session?.userName
let userId = session?.userID
print("Username: \(username ?? "")")
print("UserId: \(userId ?? "")")
let client = TWTRAPIClient.withCurrentUser()
client.requestEmail(forCurrentUser: { (email, error) in
if error == nil{
if email != nil{
let email = email
print("Email: \(email ?? "")")
}
}else{
print("error: \(error?.localizedDescription ?? "")")
}
})
}else{
print("error: \(error?.localizedDescription ?? "")")
}
}
希望这会帮助你。
声明变量:
var twiterUserdata: [String:Any] = [:]
获取用户信息的功能:
func twitterUserInfo(){
TWTRTwitter.sharedInstance().logIn(completion: { (session, error) in
let client = TWTRAPIClient.withCurrentUser()
client.requestEmail { emailId, error in
if (emailId != nil) {
let name = session?.userName
let email = emailId
self.twiterUserdata["name"] = name
self.twiterUserdata["email"] = email
TWTRTwitter.sharedInstance().sessionStore.session()
print(self.arrTwiterUserdata)
} else {
print("error: \(String(describing: error?.localizedDescription))");
}
}
})
}
希望这对你有所帮助。!!