0

我在 iOS 上登录 Twitter 时遇到问题。如果用户在设置应用程序中设置了帐户,我会收到以下错误:

[TwitterKit] 确实遇到错误消息“用户的系统帐户凭据无效。”:错误域 = TWTRLogInErrorDomain 代码 = 7“系统帐户凭据不再有效,需要在设置应用程序中更新。” UserInfo={NSLocalizedDescription=系统帐户凭据不再有效,需要在设置应用程序中更新。, NSLocalizedRecoverySuggestion=已提示用户访问设置应用程序。}

凭据是有效的,我仔细检查了一下。如果设置应用程序中没有帐户,我的登录会按预期进行。我调用的方法是:

Twitter.sharedInstance().logInWithCompletion {(session, error) -> Void in
4

4 回答 4

1
Twitter.sharedInstance().logIn { session, error in
        if (session != nil)
        {
            print("signed in as \(session!.userName)");
            let client = TWTRAPIClient.withCurrentUser()
            let request = client.urlRequest(withMethod: "GET",
                url: "https://api.twitter.com/1.1/account/verify_credentials.json",
                parameters: ["include_email": "true", "skip_status": "true"],
                error: nil)
            client.sendTwitterRequest(request)
            { response, data, connectionError in
                print(response)
            }
        }
        else
        {
            print("error: \(error!.localizedDescription)");
        }
        }
    }

这有助于我swift3

于 2016-10-13T11:41:02.723 回答
1

我认为以下方法也应该有效。

Twitter.sharedInstance().logIn(withCompletion: {(session: TWTRSession, error: Error) -> Void in
    if session {
        print("@\(session.userName()) logged in! (\(session.userID()))")
    }
    else {
        print("error: \(error!.localizedDescription)")
    }
})

它从 Settings Twitter 应用程序获取帐户凭据。

更多内容:- AppDelegate.m

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]) -> Bool {
    //Twitter
    Twitter.sharedInstance().start(with: kTwitterConsumerKey, consumerSecret: kTwitterConsumerSecret)
    Fabric.with([Twitter.sharedInstance()])
    return true
}
  • 信息列表

在此处输入图像描述

于 2016-10-13T11:01:45.877 回答
0

通过使用方法解决了我的问题:

Twitter.sharedInstance().logInWithMethods(TWTRLoginMethod.WebBased, completion: {(session, error) -> Void in

但仍然认为其他方法也应该有效。

于 2016-10-13T10:50:11.330 回答
0

我喜欢使用下面的代码,可能是帮助

 TWTRTwitter.sharedInstance().logIn(with: self, completion: { session, error in
        if (session != nil) {
            let client = TWTRAPIClient.withCurrentUser()
          }
   }
于 2018-07-31T02:42:38.990 回答