0

サーバー上で実行され、ストリーミング API を使用してさまざまなツイートをリッスンし、ときどきツイートを送信するアプリケーションがあります。これは、古い Twitter 認証システムを使用すると問題なく機能しましたが、OAuth を使用すると少し複雑になります。

アプリケーションを正常に起動でき、ブラウザで Twitter の OAuth ページが開きます。PIN を入力すると、アプリケーションは問題なく動作しますが、アプリケーションを無人で再起動できるようにする必要があります。Twitter の OAuth FAQ http://dev.twitter.com/pages/oauth_faqによると、トークンは期限切れにならないため、アプリケーションが起動するたびに認証トークンを再利用したいと考えています。

どうやってやるの?または、一度だけ承認する別の方法はありますか?

4

1 に答える 1

1

解決策は非常に簡単なので、私は自分の質問に答えます。

このページhttp://dev.twitter.com/pages/oauth_single_tokenで説明されているように、単一ユーザーのユース ケースでアプリケーションを構築している場合は、Twitter のアプリケーション コントロール パネルから永久アクセス トークンとアクセス トークン シークレットを取得できます。[アプリケーションの詳細] ページで、[マイ アクセス トークン] リンクをクリックします。

OAuthSignPostClient クラスを読んで、デフォルトの jtwitter 実装が次のメソッド シグネチャを使用していることに気付きました。

    public OAuthSignpostClient(String consumerKey, String consumerSecret, 
String callbackUrl)

ただし、次を使用して呼び出すこともできます。

public OAuthSignpostClient(String consumerKey, String consumerSecret, 
            String accessToken, String accessTokenSecret) 

したがって、クライアント アプリのコードは次のように変更されました。

    OAuthSignpostClient client = new OAuthSignpostClient(MY_OAUTH_KEY, 
MY_OAUTH_SECRET, "oob");

に:

    OAuthSignpostClient client = new OAuthSignpostClient(MY_OAUTH_KEY, 
MY_OAUTH_SECRET, MY_ACCESS_TOKEN, MY_ACCESS_TOKEN_SECRET);

そして、すべて順調です。

于 2010-09-01T18:02:32.830 に答える