如何使用Swifter授权Twitter

有人可以向我解释如何使用Swifter for iOS成功授权Twitter(oAuth)。 我正在尝试创建一个时间表。

let twitterAccount = Swifter(consumerKey: "CONSUMER-KEY", consumerSecret: "CONSUMER-SECRET") 

然后我需要授权,我对如何这样做很困惑。

 swifter.authorizeWithCallbackURL(callbackURL, success: { (accessToken: SwifterCredential.OAuthAccessToken?, response: NSURLResponse) in // ... }, failure: { (error: NSError) in // ... }) 

我得到一个错误,说’未解决的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) 

您可以使用任何您喜欢的callbackURL 。 但是,要让您的应用响应此url,您必须进行一些更改。 在AppDelegate类中添加以下内容。 别忘了导入SwifteriOS

 func application(application: UIApplication!, openURL url: NSURL!, sourceApplication: String!, annotation: AnyObject!) -> Bool { Swifter.handleOpenURL(url) return true } 

现在,在Project Explorer中单击您的项目,选择info选项卡。 在底部,您将看到URL Types 。 展开它,然后单击加号。 在URL Schemes输入您的callbackURL方案。 在此示例中,其swifteridentifier写入您的应用程序标识符。

现在,在任何其他ViewController您需要先调用以下内容,然后才能调用任何需要身份validation的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) } 

在此之后,您可以发送消息,发布推文,创建友谊等。