我已经通过 Fabric.app 在一个项目中安装了 Twitter SDK。我能够登录到我的 Twitter 帐户,但是当我做任何与请求推文相关的事情时,我输入了这些 print
语句:
print("Failed to load tweets: \(error!.localizedDescription)")
print(error?.localizedFailureReason)
并得到这个错误:
Failed to load tweets: Request failed: forbidden (403)
Optional("Twitter API error : Unable to verify your credentials (code 99)")
但是当我将此行添加到我的 TVC
上的 viewDidLoad
时,我返回了一个值:
print("Twitter.sharedInstance().sessionStore.session()?.userID is \(Twitter.sharedInstance().sessionStore.session()?.userID)")
在我的 Info.plist
中有一个 Fabric
条目。我没有从 Fabric.app
安装中更改或操作它。
在我的 AppDelegate.swift 的 didFinishLoadingWithOptions
中:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// I tried using the consumerKey/consumerSecret for Fabric & Twitter for S's & G's to no avail
Twitter.sharedInstance().startWithConsumerKey("myConsumerKey", consumerSecret: "myConsumerSecret")
Fabric.with([Twitter.self()])
return true
}
我通过 Fabric 的 Twitter 设置 list re: setup 进行了检查,我已经完成了所有的事情,但显然我搞砸了一些东西。 Fabric 网站上的示例代码对我来说“开箱即用”。有关于:在哪里寻找问题的任何想法?我没主意了。
最佳答案
当您请求推文时,我想您的代码如下所示,对吗?
let client = TWTRAPIClient()
let dataSource = TWTRUserTimelineDataSource(screenName: "fabric", APIClient: client)
原来他们的文档不完整,应该是这样的
let userID = Twitter.sharedInstance().sessionStore.session()?.userID
let client = TWTRAPIClient(userID: userID)
let dataSource = TWTRUserTimelineDataSource(screenName: "fabric", APIClient: client)
客户端对象需要你的用户信息来做它的事情。我有同样的问题。
关于ios - 通过 Fabric 安装 Twitter,登录有效,请求 Tweets 的持续错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32969348/