Replies to a particular tweet, Twitter API

后端 未结 11 2014
北荒
北荒 2020-11-28 02:19

Is there a way in the Twitter API to get the replies to a particular tweet? Thanks

相关标签:
11条回答
  • 2020-11-28 03:05

    From what I understand, there's not a way to do that directly (at least not now). Seems like something that should be added. They recently added some 'retweet' capabilities, seem logical to add this as well.

    Here's one possible way to do this, first sample tweet data (from status/show):

    <status>
      <created_at>Tue Apr 07 22:52:51 +0000 2009</created_at>
      <id>1472669360</id>
      <text>At least I can get your humor through tweets. RT @abdur: I don't mean this in a bad way, but genetically speaking your a cul-de-sac.</text>
      <source><a href="http://www.tweetdeck.com/">TweetDeck</a></source>
      <truncated>false</truncated>
      <in_reply_to_status_id></in_reply_to_status_id>
      <in_reply_to_user_id></in_reply_to_user_id>
      <favorited>false</favorited>
      <in_reply_to_screen_name></in_reply_to_screen_name>
      <user>
        <id>1401881</id>
         ...
    

    From status/show you can find the user's id. Then statuses/mentions_timeline will return a list of status for a user. Just parse that return looking for a in_reply_to_status_id matching the original tweet's id.

    0 讨论(0)
  • 2020-11-28 03:06

    As states satheesh it works great. Here is REST API code what I used

    ini_set('display_errors', 1);
    require_once('TwitterAPIExchange.php');
    
    /** Set access tokens here - see: https://dev.twitter.com/apps/ **/
    $settings = array(
        'oauth_access_token' => "xxxx",
        'oauth_access_token_secret' => "xxxx",
        'consumer_key' => "xxxx",
        'consumer_secret' => "xxxx"
    );
    
    
    
    // Your specific requirements
    $url = 'https://api.twitter.com/1.1/search/tweets.json';
    $requestMethod = 'GET';
    $getfield = '?q=to:screen_name&sinceId=twitter_id';
    
    // Perform the request
    $twitter = new TwitterAPIExchange($settings);
    $b =  $twitter->setGetfield($getfield)
                 ->buildOauth($url, $requestMethod)
                 ->performRequest();
    
    $arr = json_decode($b,TRUE);
    
    echo "Replies <pre>";
    print_r($arr);
    die;
    
    0 讨论(0)
  • 2020-11-28 03:10

    since statuses/mentions_timeline will return the 20 most recent mention this won't be that efficient to call, and it has limitations like 75 requests per window (15min) , insted of this we can use user_timeline

    the best way: 1. get the screen_name or user_id parameters From status/show.
    2. now use user_timeline
    GET https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=screen_name&count=count

    (screen_name== name which we got From status/show)
    (count== 1 to max 200)
    count: Specifies the number of Tweets to try and retrieve, up to a maximum of 200 per distinct request.

    from the result Just parse that return looking for an in_reply_to_status_id matching the original tweet's id.

    Obviously, it's not ideal, but it will work.

    0 讨论(0)
  • 2020-11-28 03:12

    Here is the procedure to get the replies for a tweets

    1. when you fetch the tweet store the tweetId ie., id_str
    2. using twitter search api do the following query [q="to:$tweeterusername", sinceId = $tweetId]
    3. Loop all the results , the results matching the in_reply_to_status_id_str to $tweetid is the replies for the post.
    0 讨论(0)
  • 2020-11-28 03:14

    You can use twarc package in python to collect all the replies to a tweet.

    twarc replies 824077910927691778 > replies.jsonl

    Also, it is possible to collect all the reply chains (replies to the replies) to a tweet using command below:

    twarc replies 824077910927691778 --recursive

    0 讨论(0)
提交回复
热议问题