0

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)
        })


    }

これを修正する方法についての提案、さらに他のアプローチがある場合は、それも歓迎します。

4

1 に答える 1

1

「リンゴ」という文字列を含むツイートは、数十億とは言わないまでも数百万あります。アプリがクラッシュするため、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 のドキュメントを使用して、渡す適切なパラメーターを知る必要があります。たとえば、このエンドポイントのドキュメントはここにあります

于 2016-04-15T23:52:45.560 に答える