登录时从twitter获取数据

问题描述 投票:0回答:2

我想制作使用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
}
ios swift api twitter
2个回答
0
投票

您可以使用以下方法从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 ?? "")")
            }
}

希望这会帮助你。


0
投票

声明变量:

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))");
                }
            }
        })
    }

希望这对你有所帮助。!!

© www.soinside.com 2019 - 2024. All rights reserved.