Получите доступ к Twitter с помощью Swift

Я использую библиотеку Swifter для доступа к Twitter в своем приложении Swift для iOS 8:https://github.com/mattdonnelly/Swifter, Проблема в том, что я получаю ошибку 401 Not Authorized от Twitter. Я дважды проверил любые возможные причины этого:

Ключ потребителя / секрет неверенУбедитесь, что не используете API v1 (используйте 1.1)

Когда обе эти проблемы были устранены (в соответствии с документацией Twitter), я все еще сталкиваюсь с этой проблемой. Я думаю, это как-то связано с тем, как я проверяю подлинность. Я пытаюсь получить доступ к общедоступной ленте без использования ACAccount на устройстве.

Вот мой код:

// MARK: Twitter
    var swifter: Swifter

    required init(coder aDecoder: NSCoder) {
        self.swifter = Swifter(consumerKey: "KEY", consumerSecret: "SECRET")
        super.init(coder: aDecoder)
    }

    func getTwitterTimeline() {
        let failureHandler: ((NSError) -> Void) = {
            error in
            self.alertWithTitle("Error", message: error.localizedDescription)
        }

        self.swifter.getStatusesUserTimelineWithUserID("erhsannounce", count: 20, sinceID: nil, maxID: nil, trimUser: true, contributorDetails: false, includeEntities: true, success: {
            (statuses: [JSONValue]?) in

            if statuses != nil {
                self.tweets = statuses!
            }

        }, failure: failureHandler)
    }

    func alertWithTitle(title: String, message: String) {
        var alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
        alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil))
        self.presentViewController(alert, animated: true, completion: nil)
    }

ОБНОВИТЬ: Я работал над приложением, пытаясь достичь функциональности, используя только аутентификацию приложения (не основанную на пользователях) и токен доступа для чтения общедоступной временной шкалы.

Я обновил код для использования токена доступа и аутентификации приложения. Все еще не работает, хотя

required init(coder aDecoder: NSCoder) {
        let accessToken = SwifterCredential.OAuthAccessToken(key: "KEY", secret: "SECRET")
        let credential = SwifterCredential(accessToken: accessToken)

        self.swifter = Swifter(consumerKey: "cKEY", consumerSecret: "cSECRET", appOnly: true)
        swifter.client.credential = credential
        super.init(coder: aDecoder)
    }

Ответы на вопрос(1)

Ваш ответ на вопрос