2012-08-17 62 views
8

我在推特上工作,我有访问令牌,现在我也收到推文,现在我想回复那些推文,就像我们在Twitter网站上做的那样,我使用下面的代码,但它不回复推文,但它更新我的状态,请帮我解决这个问题,谢谢..如何使用Twitter4j api回复鸣叫?

public void tweetReply() { 
    try { 
     // System.out.println("Post Id= " + itemsObj.postId); 
     AccessToken a = new AccessToken(twittertokens[0], twittertokens[1]); 
     Twitter twitter = new TwitterFactory().getInstance(); 

     twitter = new TwitterFactory().getInstance(); 
     twitter.setOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET); 
     twitter.setOAuthAccessToken(a); 
     Long id = new Long("236178766597087234"); 
     twitter.updateStatus(new StatusUpdate("@lalitrajput024 this is to test For reply option ").inReplyToStatusId(id)); 

    } catch (Exception e) { 
     // TODO: handle exception 
    } 
} 
+0

我有解决的堆栈溢出这个问题..请点击此链接http://stackoverflow.com/questions/13134629/in-android-how-directly-post-tweet-to-following-users验证用户在此链接答案结帐! 我希望这个链接可以帮助你! – 2012-11-05 10:53:09

回答

7

我也有这个问题,那我就具有itself.Now它似乎是工作的文字处理程序。

public static void reply(long inReplyToStatusId,String text,double latitude,double longitude,TwitterFactory factory) throws TwitterException 
{ AccessToken accessToken = loadAccessToken(); 
    Twitter twitter = factory.getInstance(); 
    twitter.setOAuthConsumer(consumerKey, consumerSecrate); 
    twitter.setOAuthAccessToken(accessToken); 


    StatusUpdate stat= new StatusUpdate(text); 

    stat.setInReplyToStatusId(inReplyToStatusId); 


    GeoLocation location= new GeoLocation(latitude, longitude); 
    stat.setLocation(location); 

    twitter.updateStatus(stat); 
}' 

,我称它像是

  reply(238912922250792960l, "@praveena_kd testing reply", 12.787, 77.7578, factory); 
0

我没有足够的信誉发表评论,所以我把这个作为一个答案,因为我被困在这一段时间。此代码正如@praveena_kd所述。

String answer = "replying to @" + userNick + ": ..."; 
StatusUpdate statusReply = new StatusUpdate(answer); 
    statusReply.setInReplyToStatusId(statusId); 
    try { 
    twitter.updateStatus(statusReply); 
     } catch (TwitterException ex) { 
     // handle exception 
    } 

但是你必须小心把@UserScreenName的答复,否则不会出现发送时间表!凡

String userNick = status.getUser().getScreenName();