如何创建一个java应用程序来读取Twitter提要?

时间:2014-12-07 21:55:56

标签: java twitter

我想创建一个小应用程序,它将访问twitter api以仅使用应用程序级别身份验证来读取提要。我在网上看了很多文档,感到非常困惑。据我所知,twitter api需要OAth授权任何应用程序从/向twitter获取或写入数据。为了获得关联的密钥(消费者密钥),twitter的开发应用程序页面要求我们创建一个新的应用程序,我创建该应用程序来获取密钥。现在我有一些教程说明如何创建一个属性文件来保存这些键并开始运行java应用程序。

问题是在遵循我无法运行应用程序的所有内容之后。任何人都可以逐步描述如何创建一个java应用程序来读取feed,设置所需的所有配置,创建和解释获取密钥所需的所有步骤? 我正在使用twitter 4j。

1 个答案:

答案 0 :(得分:2)

使用某些第三方库(如Twitter4j等)创建一个java客户端阅读Twitter消息非常简单。你没有提到你想读的是哪条推文是你自己的推文还是别人的推文,无论如何我跟着这个{{3}并完成了我的工作:)

  1. blog上创建一个Twitter应用程序并获取您的消费者密钥。 (如果你碰到某个地方,请按照上面提到的博客。)
  2. 使用Twitter4j API获取授权URL,点击它并获取PIN。 (所需的代码在下面提到你的参考)
  3. 输入引脚并获取访问权限(参见下面的代码)
  4. 现在我们可以阅读或更新Twitter提要了。 (基于您在创建Twitter应用程序时设置的访问级别)
  5. 示例代码:

     Twitter twitter = new TwitterFactory().getInstance();
     twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_KEY_SECRET);
    
    RequestToken requestToken = twitter.getOAuthRequestToken();
     System.out.println("Authorization URL: \n"
      + requestToken.getAuthorizationURL());
    
    AccessToken accessToken = null;
    
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
       try{
           System.out.print("Hit above Authorization URL and Input PIN here: ");
           String pin = br.readLine();
    
           accessToken = twitter.getOAuthAccessToken(requestToken, pin);
    
         } catch (TwitterException te) {
    
            System.out.println("Failed to get access token, caused by: "
               + te.getMessage());
         }
    
     System.out.println("Access Token: " + accessToken.getToken());
     System.out.println("Access Token Secret: "
      + accessToken.getTokenSecret());
    
     // updating twitter status
     twitter.updateStatus("hi.. im updating this using Namex Tweet for Demo");
    
    System.out.println("\nReading Twitter Timeline:");
    
     // I'm reading your timeline
     ResponseList list = twitter.getHomeTimeline();
     for (Status each : list) {
    
         System.out.println("Sent by: @" + each.getUser().getScreenName()
          + " - " + each.getUser().getName() + "\n" + each.getText()
          + "\n");
     }
    

    如果您遇到任何问题,请在此处查看并发表评论。