2012-08-17 58 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();