获取公共推文Twitter API 1.1

时间:2013-08-13 09:41:16

标签: android twitter

我第一次使用Twitter API

我正在经历 https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline

我需要从https://twitter.com/twitterapi

获取公开推文

api 1.1链接说 -

身份验证 - 必需

我找到了类似的东西 - AuthTool

我无法连接所有这些内容,因为没有可用的初学者教程。

我基本的怀疑   - 需要身份验证意味着 - 使用我的应用程序的最终用户应该有一个Twitter帐户来获取这些推文吗? (我正在计划一个移动应用程序(android),以显示一些名人的公开推文)

  • 我在哪里可以找到一些基本的教程?

  • 我是否需要一些令牌来传递请求?如何获得这些?

1 个答案:

答案 0 :(得分:14)

我有机会处理类似的问题。让我先帮助你解决问题。

  

是否需要身份验证意味着 - 使用我的应用的最终用户应该   有一个Twitter帐户来获取这些推文?

否。最终用户无需登录自己的Twitter帐户即可查看公共Feed。但是,您必须使用您在Twitter开发人员网站中创建的应用程序的使用者密钥和密钥。

  

我是否需要一些令牌来传递请求?如何获得这些?

正如我对上一个问题的解释,您需要使用消费者密钥,消费者密钥,访问令牌和访问密钥。

这是我用来获取公共供稿的一个小例子。以下示例将获取用户的最新20个公共订阅源。

  

在此之前,您需要将最新的twitter库导入到您的项目中,这是截至目前的twitter4j 3.0.3。

然后将下面给出的代码添加到您的项目中并且应该完成。

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();
        }