WPF .NET 4.0 C# アプリで TweetSharp を使用し、認証された Twitter サービス オブジェクトを使用しています。フォロワーのリストを繰り返し処理してすべてのプロファイルを取得する際に問題が発生しています。私は次のコードを使用しています:
TwitterCursorList<TwitterUser> followers = twitterService.ListFollowersOf(userID, -1);
while (followers != null)
{
foreach (TwitterUser follower in followers)
{
//Do something with the user profile here
}
followers = twitterService.ListFollowersOf(userID, (long)followers.NextCursor);
}
この記事の執筆時点で 1271 人のフォロワーを持つ自分のアカウントに対してこれを使用すると、奇妙な動作が見られます。コードを初めて実行すると、100 人のフォロワーのリストが取得され、次の ListFollowersOf 呼び出しでフォロワーが null になり、ループが終了します。
奇妙な部分は次のとおりです。同じアプリ インスタンスでこのコードを再度実行しても、Visual Studio を停止して再起動しても、問題はありません。1 つの余分な反復が得られ、今では 200 人のフォロワーが戻ってきます。このトリックをもう一度実行すると、null になる前に 300 人のフォロワーが戻ってきます。上記のコードの 1 回の呼び出しで 1271 人のすべてのフォロワーが返されるまで、これを何度も繰り返しました。
本当に奇妙なことは、これが最終的にリセットされることです。Twitter APIの制限リセット時間と関係があると思いますが、確認していません。これが API リセットと一致するかどうかを確認します。リセットが行われると、フォロワーが 100 人、次に 200 人というように増えます。
TweetSharp 単体テストと次の投稿を確認しましたが、うまくいきませんでした: