Twitter api text field value is truncated

36,923

Solution 1

The Twitter API has been changed recently, to support new rules regarding the 280 characters limit.

  1. To get the full text of the tweet, add parameter tweet_mode with value extended to your request parameters.
  2. Field text in the JSON response has been replaced by full_text

More info here: https://dev.twitter.com/overview/api/upcoming-changes-to-tweets

Solution 2

The status in this example is a retweet, and the text for retweets will be truncated to 140 characters even after including tweet_mode=extended. The full text of the original tweet is in the retweeted_status field of the JSON response. Here's what you want:

let text = status["retweeted_status"]["full_text"].

Keep in mind that you should still include tweet_mode=extended in your request.

Share:
36,923

Related videos on Youtube

Sheshnath
Author by

Sheshnath

Updated on July 20, 2022

Comments

  • Sheshnath
    Sheshnath almost 2 years

    why text field value is truncated and how can i get complete value. As of now i am trying to get text field value like below

    do {
           if let responseObject = try NSJSONSerialization.JSONObjectWithData(response, options: []) as? [String:AnyObject],
               arrayStatuses = responseObject["statuses"] as? [[String:AnyObject]] {
                   let arrTweets:NSMutableArray = NSMutableArray()
                   for status in arrayStatuses {
                       let text = status["text"]!
                       print(status["text"]!)
                   }
           }
    }
    

    output is

    RT @WarfareWW: #Russia/#India may hold launches of BrahMos cruise missiles from Su-30MKI vs sea/grnd trgts at the end of this year https://…

    three dots at the end of line. i need to print complete text without truncation.

    Twitter sample search result JSON Data

    {
          "created_at": "Mon Aug 01 08:07:43 +0000 2016",
          "id": 760024194079916032,
          "id_str": "760024194079916032",
          "text": "RT @khalidasopore: #KEXIT #KASHEXIT #KashmirKillings #Inida #Pakistan Just trend it my dear Indians to save #Kashmir from Pak Goons https:/…",
          "truncated": false
    }
    
    • Lu_
      Lu_ almost 8 years
      can you proof us that you are getting correct string as a response, show that request response in web or something
    • Wez
      Wez almost 8 years
      UILabels will truncate text if they are a fixed height and width, you may also need to set label.numberOfLines = 0 - Otherwise following @Lu_'s comment can you provide a json example.
    • Sheshnath
      Sheshnath almost 8 years
      it's not just a issue of UILabel even print() does truncate string
    • Lu_
      Lu_ almost 8 years
      provide us some proof of that, show json in web or something, it is not normal that saving to variable is turncating string
    • Sheshnath
      Sheshnath almost 8 years
      to be specific it's twitter hastag search api response, updated my question with json
  • sirdan
    sirdan almost 7 years
    In a Java Spark Streaming application, where would I set the tweet_mode parameters? I have a FilterQuery which works with a listener. @Ely
  • Dalin
    Dalin almost 6 years
    Not sure why Twitter doesn't include this in their official API documentation. Thank goodness for Stack Overflow.
  • TroySteven
    TroySteven about 5 years
    This helped, I am getting the full_text attribute back, but its still cutting off at around 210 characters for me.
  • Marcos Pereira
    Marcos Pereira over 4 years
    It is ridiculous that the official documentation is outdated like this. Who updates their API docs with a "blog post"?
  • rishuverma
    rishuverma over 2 years
    Thanks a lot! I was trying to implement spam filter functionality for the Twitter bot and drilled down to the fact that I am not getting the entire text response from Twitter API. Implementing this has made everything work.