0

Twitter を検索するバックグラウンド タスクとして実行されるコンソール アプリを作成したいと考えています。

承認ダイアログをポップアップ表示せずにジョブを開始したい。ダイアログがポップアップせずに Twitter API を呼び出す方法はありますか?

アプリケーションのみの認証を使用する必要があることがわかりました。アプリケーションのみの認証の良い例はどこにありますか

4

3 に答える 3

2

シングル ユーザー認証またはアプリケーションのみの認証と呼ばれる新しい機能を使用できます。LINQ to Twitterでアプリケーションのみを実行する方法の例を次に示します。

    private static void HandleApplicationOnlyAuthentication()
    {
        var auth = new ApplicationOnlyAuthorizer
        {
            Credentials = new InMemoryCredentials
            {
                ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"],
                ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"]
            }
        };

        auth.Authorize();
        //auth.Invalidate();

        var twitterCtx = new TwitterContext(auth);

        var srch =
            (from search in twitterCtx.Search
             where search.Type == SearchType.Search &&
                   search.Query == "LINQ to Twitter"
             select search)
            .SingleOrDefault();

        Console.WriteLine("\nQuery: {0}\n", srch.SearchMetaData.Query);
        srch.Statuses.ForEach(entry =>
            Console.WriteLine(
                "ID: {0, -15}, Source: {1}\nContent: {2}\n",
                entry.StatusID, entry.Source, entry.Text));
    }

Invalidate の呼び出しはコメント アウトされていますが、タイマーを設定する必要があります。Twitter の経験則では、ベアラー トークンは 15 分程度ごとに無効化されます。

LINQ to Twitter サイトには、Single User Authorizationに関するドキュメントもあります。このサイトにはサンプルページがあり、ダウンロード可能なソース コードには動作するデモが含まれています。ところで、Twitter ユーザー トークンは通常、期限切れになることはないため、同じトークンを保存して引き続き使用することができます。

于 2013-09-24T22:38:25.640 に答える
0

Joe, works like a CHARM! Thanks a lot for you efforts to build such elegant solution on top of not so friendly REST interface. Still looking for different search criteria :)

于 2013-09-27T01:18:20.800 に答える