RRR
RRR

Reputation: 509

how to get the full status text from twitter API with JSON?

tldr: how to access the FULL tweet body with JSON?

Hello

I have a problem finding the full text of a tweet in JSON.

I am making a python app with tweepy. I would like to take a status, and then access the text

EDIT

I used user_timeline() to get a tweet_list. Then got one tweet from them like this:

tweet=tweet_list[index]._json

now when I do this:

tweet['text']

it returns a shortened tweet with a link to the original

eg:

Unemployment for Black Americans is the lowest ever recorded. Trump approval ratings with Black Americans has doubl… (the shortened link, couldn't directly link due to stackoverflow rules)

I want to return this:

Unemployment for Black Americans is the lowest ever recorded. Trump approval ratings with Black Americans has doubled. Thank you, and it will get even (much) better! @FoxNews

I don't mind if the link is added as long as the full tweet is shown

Upvotes: 1

Views: 3428

Answers (2)

RRR
RRR

Reputation: 509

Okay after looking a bit more. I believe it is impossible to do it directly with JSON

There is a solution here about getting the full tweet. you can see it here

The problem with the answer above is that full_text turn the object into a string. if you need the object in its initial state to use it later with json to get other info. do the following:

  1. use tweet_mode="extended" in user_timeline() and save it in tweet_list. eg:

tweet_list = api.user_timeline("user", count=10, tweet_mode="extended")

  1. take one tweet only like this: tweet=tweet_list[0]

  2. if you want the full text tweet, do this: tweet.full_text

  3. if you need a json version of the object do this jtweet = tweet._json or just access the key like this tweet._json['id']

Hope that helps

Upvotes: 5

KamilD
KamilD

Reputation: 163

You didn't provide any information about, how you want to achieve your goal. Looking at tweepy API, there is optional flag argument full_text which you can pass to function. get direct message function

It defaults to false causing that returned messages are shortened to 140 chars. Just set it at True and see what happen.

Upvotes: 2

Related Questions