同様の問題に取り組む機会がありました。まず、あなたの質問をお手伝いさせてください。
認証が必要とは、アプリを使用するエンド ユーザーがこれらのツイートを取得するために Twitter アカウントを持っている必要があることを意味しますか?
いいえ。エンド ユーザーは、パブリック フィードを表示するために Twitter アカウントにサインインする必要はありません。ただし、Twitter 開発者の Web サイトで作成したアプリのコンシューマ キーと秘密キーを使用する必要があります。
リクエストで渡すトークンが必要ですか? それらを取得する方法は?
前の質問で説明したように、コンシューマ キー、コンシューマ シークレット、アクセス トークン、アクセス シークレットを利用する必要があります。
これは、パブリック フィードを取得するために私が取り組んだ小さな例です。以下のサンプルは、ユーザーの最新の 20 件のパブリック フィードを取得します。
その前に、現在の twitter4j 3.0.3 であるプロジェクトに最新の twitter ライブラリをインポートする必要があります。
そして、以下のコードをプロジェクトに追加してください。
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("B***************Q")
.setOAuthConsumerSecret(
"l*********************************o")
.setOAuthAccessToken(
"1*******************************X")
.setOAuthAccessTokenSecret(
"1***************************c");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
try {
List<Status> statuses;
String user;
user = "replace with the user name of your choice";
statuses = twitter.getUserTimeline(user);
Log.i("Status Count", statuses.size() + " Feeds");
for (int i = 0; i < statuses.size(); i++) {
Status status = statuses.get(i);
Log.i("Tweet Count " + (i + 1), status.getText() + "\n\n");
}
} catch (TwitterException te) {
te.printStackTrace();
}