Mat*_*att 3 twitter xcode ios swift
有人可以向我解释如何使用Swifter for iOS成功授权Twitter(oAuth).我正在尝试创建一个时间表.
let twitterAccount = Swifter(consumerKey: "CONSUMER-KEY", consumerSecret: "CONSUMER-SECRET")
Run Code Online (Sandbox Code Playgroud)
然后我需要授权,我对如何这样做很困惑.
swifter.authorizeWithCallbackURL(callbackURL, success: {
(accessToken: SwifterCredential.OAuthAccessToken?, response: NSURLResponse) in
// ...
},
failure: {
(error: NSError) in
// ...
})
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,说'未解决的callbackURL标识符',这显然是因为我没有定义它,但是当我这样做时说'呼叫中的额外参数'.还有更简单的授权方式吗?在此之后,我应该如何在get-home-timeline部分中获取用户screen-name/user-id.我知道我做的事情完全错了,我对这一切都很陌生,所以任何帮助都会受到赞赏.
也许你已经找到了答案,但我正在为那些仍在寻找它的人写这里.
swifter.authorizeWithCallbackURL(NSURL(string: "swifter://success")!, success: {
(accessToken: SwifterCredential.OAuthAccessToken?, response: NSURLResponse) in
println("Access Token key \(accessToken?.key)")
println("userId\(accessToken?.userID)")
println("userName\(accessToken?.screenName)")
println("Access Token secret\(accessToken?.secret)")
//Save the values that you need in NSUserDefaults
},
failure: failureHandler)
Run Code Online (Sandbox Code Playgroud)
你可以使用任何callbackURL你喜欢的.但是,要让您的应用响应此网址,您必须进行一些更改.在AppDelegate课堂上添加以下内容.别忘了导入SwifteriOS
func application(application: UIApplication!, openURL url: NSURL!, sourceApplication: String!, annotation: AnyObject!) -> Bool {
Swifter.handleOpenURL(url)
return true
}
Run Code Online (Sandbox Code Playgroud)
现在,在Project Explorer中单击您的项目,选择info选项卡.在底部你会看到URL Types.展开它并单击加号.在URL Schemes输入你的callbackURL计划.在这个例子中,它swifter和identifier你的应用程序标识符.
现在,ViewController您可以在调用任何需要身份验证的API之前调用以下任何其他内容.
required init(coder aDecoder: NSCoder) {
var oauthToken : String = NSUserDefaults.standardUserDefaults().valueForKey("oauth_token") as String
var oauthTokenSecret : String = NSUserDefaults.standardUserDefaults().valueForKey("oauth_secret") as String
self.swifter = Swifter(consumerKey: Twitter["consumerKey"]!, consumerSecret: Twitter["consumerSecret"]!, oauthToken: oauthToken, oauthTokenSecret: oauthTokenSecret)
super.init(coder: aDecoder)
}
Run Code Online (Sandbox Code Playgroud)
在此之后,您可以发送消息,发布推文,创建友谊等.