请求失败:未经授权(401)使用Twitter登录

时间:2017-11-10 09:44:41

标签: ios swift twitter

我正在尝试使用Twitter在我的iOS应用中登录,但我收到以下错误:

CredStore - performQuery - Error copying matching creds.  Error=-25300, query={
class = inet;
"m_Limit" = "m_LimitAll";
ptcl = htps;
"r_Attributes" = 1;
sdmn = "https://api.twitter.com";
srvr = "api.twitter.com";
sync = syna;
}
error: Optional("Request failed: unauthorized (401)")

我的登录代码:

Twitter.sharedInstance().logIn(completion: { (session, error) in
        if (session != nil) {
            print("signed in as \(session?.userName)");

            let client = TWTRAPIClient(userID: session?.userName)
            client.loadUser(withID: (session?.userID)!, completion: { (user, error) in

                let twitterClient = TWTRAPIClient.withCurrentUser()
                let request = twitterClient.urlRequest(withMethod: "GET",
                                                       url: "https://api.twitter.com/1.1/followers/list.json?cursor=-1&screen_name=dearestpankaj&skip_status=true&include_user_entities=false",
                                                       parameters: ["include_email": "true", "skip_status": "true"],
                                                       error: nil)

                twitterClient.sendTwitterRequest(request) { response, data, connectionError in
                    print(data!)
                    let s :String = String(data: data! as Data, encoding: String.Encoding.utf8)!

                    if let data = s.data(using: String.Encoding.utf8) {
                        do {
                            let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String:Any]
                            print(json!)

                        } catch {
                            print("Something went wrong")
                        }
                    }
                }
            })

        } else {
            print("error: \(error?.localizedDescription)");
        }
    })

昨天这个错误是间歇性的,但今天我不断收到这个错误。

3 个答案:

答案 0 :(得分:1)

您需要更改此值:let client = TWTRAPIClient(userID: session?.userName)

let client = TWTRAPIClient(userID: session?.userID)

答案 1 :(得分:1)

我正在使用“pod'TwitterKit'”我将podfile中的行更改为“pod'TwitterKit','〜> 3.0'',现在一切似乎都正常。

答案 2 :(得分:0)

您应该转到Twitter页面上的应用程序设置并进行设置: 回调网址回拨网址已锁定设置为

之后一切都应该有效