[CoreTweet] アプリ認証でコミックマーケットの当選ツイートを取得する

Application-only 認証 を使ってコミックマーケットの当選ツイートを取得する。
Application-only 認証 だと使える API に制限はありますが AccessToken / AccessTokenSecret が要りません。
(当然ユーザー固有の情報は取得できない。)

コードは大体 App only 認証の使い方 · CoreTweet/CoreTweet Wiki · GitHub の通りです。
yield で1ツイートずつ返すので foreach (var status in twitterSearch.Search()) で呼べばOK。

日本語検索は1文字ずつツイートに含まれるか判定されるので q の指定が若干特殊です。
-RTでリツイートを除いています。

class TwitterSearch
{
    private const string ConsumerKey = "";
    private const string ConsumerSecret = "";
 
    private long? MaxId { get; set; } = null;
 
    public IEnumerable<Status> Search()
    {
        var apponly = OAuth2.GetToken(ConsumerKey, ConsumerSecret);
        var c = 0;
        do
        {
            var statuses = apponly.Search.Tweets(q => "貴サークル「」は、に配置されました -RT", max_id => this.MaxId, count => 100);
            foreach (var status in statuses)
            {
                yield return status;
                this.MaxId = status.Id - 1;
            }
            c = statuses.Count;
        } while (c > 0);
    }
}

取得した結果をCSVで下記に置いてますので使いたい方はどうぞ。
SnowCait/ComiketTweets: コミックマーケットの当落ツイート


カテゴリー: C# タグ: パーマリンク