J'ai trouvé cette question . Cependant, je pense que cela a changé sur la version 1.1 de l'API.
Si j'utilise la méthode search/tweets
, comment puis-je savoir si le Tweet est un RT? Je vois que le champ retweeted
renvoie toujours false
. Y a-t-il un autre champ que je peux utiliser pour cette réponse?
S'il s'agit d'un retweet, le Tweet contiendra une propriété nommée retweeted_status
. Pour être complet, retweeted_status
n'apparaîtra pas si le Tweet n'est pas un retweet. Plus d'infos sur: Tweets .
En vérifiant simplement le nom de la propriété
"retweeted_status"
si vous ne trouvez pas alors ce n'est pas RT.
Comme @Joe Mayo l'a dit, recherchez la clé retweeted_status
sur l'objet status.
J'ai un exemple qui n'est pas pris en compte par la suggestion de @Apoorv Ashutosh.
Voir: https://Twitter.com/gppvt/status/474162466776449024 ceci redirigera (parce que c'est un retweet) vers le Tweet original. Cependant, si vous obtenez ce Tweet via l'API Twitter, il a retweeted_status
. Notez que le texte ne contient pas "RT".
Le champ retweeté est false si le retweet n'est pas effectué à l'aide du bouton Retweet, mais plutôt via RT. Dans ce cas, il suffit de rechercher dans le champ "texte" de tous les tweets
RT @
Ce modèle peut être utile, mais je ne pense pas qu’il existe une autre fonction pour cela.
La propriété retweeted_status
existera si le tweet reçu a été retweeté, sinon vous obtiendrez l’erreur AttributeError
. Dans ce cas, vous souhaitez vous débarrasser des tweets retweetés:
def on_status(self, status):
try:
print "Retweeted ************* \n" + str(status.retweeted_status)
return
except AttributeError:
print "there is no attribut with name retweeted_status"
Juste pour ajouter un peu plus. (en utilisant Twitter gem (langage Ruby))
Vous pouvez vérifier si c'est un retweet en consultant le Tweet puis en obtenant ce dont vous avez besoin à partir du hachage retweeted_status.
t = client.status(#########) #function that obtains Tweet based on ID where # = Tweet ID
puts t.retweeted_status? # returns true or false
t.retweeted_status # returns the actual hash for that
Comme tout le monde l'a mentionné, vous pouvez vérifier si la propriété retweeted_status
existe dans le sous-champ de réponse pour ce Tweet.
Cependant, selon la version actuelle de l'API , chaque objet Tweet a le champ retweeted
qui stocke une valeur booléenne (Vrai ou Faux) qui vous indiquera si un Tweet a été retweeté.