OAuthSwift错误-10尝试连接到Twitter时

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

我试图使用OAuthSwift在Twitter API中使用OAuth 1。我在整个过程中成功构建完成了所有设置步骤,但在最后一步我遇到了错误。当我实现以下代码时,我收到一条错误消息“操作无法完成。(OAuthSwiftError错误-10)”。我认为它可能与回调URL有关,但它非常不清楚,并且没有太多关于此错误的文档。或者我的钥匙或秘密可能有问题?我直接从Twitter开发站点复制了它们。

let oauthswift = OAuth1Swift(
            consumerKey:    CONSUMER_KEY,
            consumerSecret: CONSUMER_SECRET,
            requestTokenUrl: "https://api.twitter.com/oauth/request_token",
            authorizeUrl:    "https://api.twitter.com/oauth/authorize",
            accessTokenUrl:  "https://api.twitter.com/oauth/access_token"
        )
let _ = oauthswift.authorize(
            withCallbackURL: URL(string: "oauth-swift://oauth-callback/twitter")!,
            success: { credential, response, parameters in
                print(credential.oauthToken)
                print(credential.oauthTokenSecret)
                print(parameters["user_id"])
                // Do your request
        },
            failure: { error in
                print(error.localizedDescription)
        }
        )
swift oauth twitter-oauth
2个回答
0
投票

这不是你问题的答案。但是尝试使用Fabric来安装TwitterKit。对我个人而言,这是一种更简单的方法。


0
投票

我需要创建类属性。 handleoauthswift被声明为类的属性,现在代码可以工作。修改后的代码如下:

var oauthswift: OAuth1Swift!
    var handle: OAuthSwiftRequestHandle!
    var newOAuthToken: String!
    override func viewDidLoad() {
        super.viewDidLoad()


        print("BEFORE OAUTHSWIFT")
        oauthswift = OAuth1Swift(
            consumerKey:    CONSUMER_KEY,
            consumerSecret: CONSUMER_SECRET,
            requestTokenUrl: "https://api.twitter.com/oauth/request_token",
            authorizeUrl:    "https://api.twitter.com/oauth/authorize",
            accessTokenUrl:  "https://api.twitter.com/oauth/access_token"
        )
        print("AFTER OAUTHSWIFT")
        handle = oauthswift.authorize(
            withCallbackURL: URL(string: "oauth-swift://oauth-callback/twitter")!,
            success: { credential, response, parameters in
                print("OAuthToken: \(credential.oauthToken)")
                print("OAuthSecret: \(credential.oauthTokenSecret)")
                print("User ID: \(parameters["user_id"]!)")
                // Do your request
        },
            failure: { error in
                print(error.localizedDescription)
                print(self.handle)
        }
        )
        // Do any additional setup after loading the view, typically from a nib.
    }
© www.soinside.com 2019 - 2024. All rights reserved.