我正在尝试使用SWIFT找到所有提及“apple”一词的推文。
我正在使用Twitter的开源库(https://github.com/mattdonnelly/Swifter/tree/xcode-6.3)。 但是当调用api时,它只提供前32条推文,而我想要所有这些。 这是我正在使用的代码
let swifter = Swifter(consumerKey: "", consumerSecret: "", appOnly: true)
swifter.authorizeAppOnlyWithSuccess({ (accessToken, response) -> Void in
// println("\(accessToken)")
swifter.getSearchTweetsWithQuery("apple", geocode: "", lang: "", locale: "", resultType: "", count: 150, until: "", sinceID: "2009-01-01", maxID: "", includeEntities: true, callback: "", success: { (statuses, searchMetadata) -> Void in
println(statuses
)
}) { (error) -> Void in
println(error)
}
// println("\(response)")
}, failure: { (error) -> Void in
// println(error)
})
}
有关如何解决此问题的任何建议,此外,如果有任何其他方法,那么它也欢迎。
答案 0 :(得分:1)
有数百万甚至数十亿的推文包含字符串" apple。" Twitter不会立即给你所有这些推文,因为它会让你的应用程序崩溃。你需要获取推文的过程,(100似乎是最大的)然后如果你想要更多,你可以构建另一个获取,例如:
swifter.getSearchTweetsWithQuery("apple", geocode: nil, lang: nil, locale: nil, resultType: nil, count: 100, until: "", sinceID: nil, maxID: "", includeEntities: true, callback: "", success: { (statuses, searchMetadata) -> Void in
print(statuses)
//if you need more continue with another fetch but set the maxID to the ID of the last tweet from the previous fetch
swifter.getSearchTweetsWithQuery("apple", geocode: nil, lang: nil, locale: nil, resultType: nil, count: 150, until: nil, sinceID: nil, maxID: idOfLastTweetFromPreviousFetch, includeEntities: true, callback: nil, success: { (statuses, searchMetadata) -> Void in
print(statuses)
}) { (error) -> Void in
print(error)
}
}) { (error) -> Void in
print(error)
}
Swifter看起来像一个很好的库,但它几乎没有文档。相反,您需要使用twitter的文档来了解要传递的适当参数。例如,可以找到此终点的文档here