使用TwitterKit / Fabric身份验证失败获取单个推文

时间:2015-09-09 14:54:08

标签: ios swift twitter twitter-fabric

我正在尝试检索一条推文并通过TwitterKit中提供的TWTRTweetView在我的应用程序中显示它。我已经关注了this Fabric guide,最后得到了以下代码。

import UIKit
import TwitterKit


class SingleTweetViewController: UIViewController{


@IBOutlet weak var plainView: UIView!

override func viewDidLoad(){
    super.viewDidLoad()

    Twitter.sharedInstance().logInGuestWithCompletion { session, error in
        if let validSession = session {
            Twitter.sharedInstance().APIClient.loadTweetWithID("4831830029115392") { tweet, error in
                if let t = tweet {
                    let tweetView = TWTRTweetView(tweet: tweet)
                    tweetView.showActionButtons = true
                    self.plainView.addSubview(tweetView)
                } else {
                    println("Failed to load Tweet: \(error?.localizedDescription)")
                }
            }

        } else {
            println("Unable to login as guest: \(error.localizedDescription)")
            println(error?.localizedFailureReason)
        }
    }
}

由于身份验证失败,代码会生成这两个错误。

Unable to login as guest: Request failed: forbidden (403)
Optional("Twitter API error : Unable to verify your credentials (code 99)")

值得一提的是,该应用程序通过this guide之后添加的登录按钮成功登录Twitter。有没有人知道如何修复这个错误?我在这里遗漏了一些代码还是与Fabric有关的问题?

1 个答案:

答案 0 :(得分:1)

在尝试使用Fabric之前,您必须初始化Fabric,这是您在示例代码中所做的事情。

对于初始化,请按照the Fabric documentation site中的说明进行操作。实质上,您已将以下行添加到您的app delegate(除了导入TwitterKit):

Twitter.sharedInstance().startWithConsumerKey("your_key", consumerSecret: "your_secret")
Fabric.with([Twitter.sharedInstance()])

然后从fabric.io复制并粘贴您的消费者密钥和密钥。 Fabric应该自动生成这些。