ユーザーが自分の Twitter アカウントにログインし、Twitter4j を使用してこのチュートリアルに従ってツイートを送信できるようにするコードをいくつか書きました。
これで、公開アカウントのツイートも取得できます
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setHttpConnectionTimeout(10000)
.setHttpReadTimeout(10000)
.setOAuthConsumerKey(Config.TWITTER_CONSUMER_KEY)
.setOAuthConsumerSecret(Config.TWITTER_CONSUMER_SECRET)
.setOAuthAccessToken(Utils.getPrefsString(getActivity(),
TwitterPrefsFragment.PREF_KEY_OAUTH_TOKEN, "")) // empty if not authentified
.setOAuthAccessTokenSecret(Utils.getPrefsString(getActivity(),
TwitterPrefsFragment.PREF_KEY_OAUTH_SECRET, "")); // empty if not authentified
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
List<twitter4j.Status> statuses = twitter.getUserTimeline(SOME_PUBLIC_TWITTER_ACCOUNT, new Paging(1, 50));
ただし、これはユーザーが認証され、アプリの設定に oauth トークンとシークレットがある場合にのみ機能します。
アクセス トークンなしで、つまりユーザー認証なしで Twitter の公開タイムラインを取得するにはどうすればよいですか?
編集
より明確にするために、質問を再構成しています。
ここに記載されているコードを使用して、Twitter アプリとユーザーを認証することができました。
ユーザーがログインしていない場合、公開タイムラインを取得するにはどうすればよいですか? その場合、 and はなくOAUTH_TOKEN
、空文字列がandOAUTH_SECRET
に設定されているため、上記の要求は機能しません。ConfigurationBuilder.setOAuthAccessToken
ConfigurationBuilder.setOAuthAccessTokenSecret
では、パブリック タイムラインを取得する要求が存在する場合、noOAUTH_TOKEN
とを使用したものは何OAUTH_SECRET
でしょうか?