6

Twitter API は初めてです

私はhttps://dev.twitter.com/docs/api/1.1/get/statuses/user_timelineを通過していました

https://twitter.com/twitterapiから公開ツイートを取得する必要があります

API 1.1 リンクは言う -

認証 - 必須

そして、次のようなものを見つけました-AuthTool

利用可能な初心者向けチュートリアルがないため、これらすべてを接続できませんでした。

私の基本的な疑問 - 認証が必要ということは、アプリを使用するエンドユーザーがこれらのツイートを取得するために Twitter アカウントを持っている必要があることを意味しますか? (有名人の公開ツイートを表示するために、モバイルアプリ(Android)を計画しています)

  • 開始するための基本的なチュートリアルはどこにありますか?

  • リクエストで渡すトークンが必要ですか? それらを取得する方法は?

4

1 に答える 1

14

同様の問題に取り組む機会がありました。まず、あなたの質問をお手伝いさせてください。

認証が必要とは、アプリを使用するエンド ユーザーがこれらのツイートを取得するために 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();
        }
于 2013-08-14T10:26:55.353 に答える