ios - 如何使用 Swifter 授权 Twitter

标签 ios xcode swift twitter

有人可以向我解释如何使用适用于 iOS 的 Swifter 成功授权 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

    // ...

})

我收到一条错误提示“Unresolved Identifier of callbackURL”,这显然是因为我还没有定义它,但是当我定义它时它显示“调用中的额外参数”。还有更简单的授权方式吗?在此之后,我应该如何让用户屏幕名称/用户 ID 用于 get-home-timeline 部分。我知道我做的事情完全错了,而且我对这一切都很陌生,所以任何帮助都将不胜感激。

最佳答案

也许您已经找到了答案,但我写在这里是为了那些仍在寻找答案的人。

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 类型。展开它并单击加号。在 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)
    }

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

关于ios - 如何使用 Swifter 授权 Twitter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28005919/

相关文章:

ios - 在 Swift 中使用未解析的标识符 "class"

ios - 处理外部键盘按下而不在 iOS 应用程序的屏幕上显示键盘

swift - 通过 Action 使 SKPhysicsBody 充满活力

iOS 10 如何使用 UNUserNotificationCenter 查看待处理通知列表?

ios - 辅助功能标识符在 iOS 模拟器的辅助功能检查器中不可见

ios - Swift 中的自定义警报

ios - Xcode 8如何在输入时显示功能描述

ios - UIWebView objectivists-c 使用 webkit 在 vi​​ewdidload 上显示折旧

iphone - 使用 Xcode 4 进行 iPhone 编程的好教程

ios - 在 Swift 中将字符串(浮点值)转换为 int