it-swarm.com.de

Twitter API: Prüfen Sie, ob ein Tweet ein Retweet ist

Ich habe diese Frage gefunden . Ich denke jedoch, dass sich dies in der API-Version 1.1 geändert hat.

Wenn ich die search/tweets-Methode verwende, wie kann ich sehen, ob der Tweet eine RT ist? Ich sehe, dass das retweeted-Feld immer false zurückgibt. Gibt es ein anderes Feld, das ich für diese Antwort verwenden kann?

19
Diolor

Wenn es sich um einen Retweet handelt, enthält der Tweet eine Eigenschaft namens retweeted_status. Der Vollständigkeit halber wird retweeted_status nicht angezeigt, wenn der Tweet kein Retweet ist. Mehr Infos unter: Tweets .

31
Joe Mayo

Überprüfen Sie einfach den Namen der Eigenschaft

"retweeted_status"

wenn Sie nicht finden, dann ist es nicht RT.

4
Ravi Mane

Überprüfen Sie, wie @Joe Mayo sagte, die retweeted_status-Taste des Statusobjekts. 

Ich habe ein Beispiel, das nicht von @Apoorv Ashutoshs Vorschlag erfasst wird. 

Siehe: https://Twitter.com/gppvt/status/474162466776449024 Dies wird (da es sich um einen Retweet handelt) zum ursprünglichen Tweet weitergeleitet. Wenn Sie diesen Tweet jedoch über die Twitter-API erhalten, hat er retweeted_status. Beachten Sie, dass der Text nicht "RT" enthält.

3
Michael

Das retweetete Feld ist falsch, wenn der Retweet nicht über die Retweet-Schaltfläche, sondern über RT durchgeführt wird. Suchen Sie in diesem Fall einfach das Textfeld aller Tweets nach diesem Muster

RT @

Dieses Muster kann hilfreich sein, aber ich glaube nicht, dass es dafür eine andere Funktion gibt.

2
Apoorv Ashutosh

Die retweeted_status-Eigenschaft ist vorhanden, wenn der empfangene Tweet erneut getwittert wurde. Andernfalls wird der AttributeError-Fehler angezeigt. In dem Fall möchten Sie die retweeteten Tweets loswerden:

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"
1

Nur um ein bisschen mehr hinzuzufügen. (mit Twitter gem (Ruby-Sprache))

Sie können überprüfen, ob es sich um einen Retweet handelt, indem Sie den Tweet überprüfen und dann die erforderlichen Informationen über den Hashwert für retweeted_status abrufen

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
1
Petros Kyriakou

Wie alle anderen bereits erwähnt haben, können Sie überprüfen, ob die retweeted_status-Eigenschaft im Antwort-Unterfeld für diesen Tweet vorhanden ist.

Gemäß der aktuellen Version der API verfügt jedes Tweet-Objekt jedoch über das Feld retweeted, in dem ein boolescher Wert (True oder False) gespeichert ist, der Ihnen mitteilt, ob ein Tweet retweetet wurde. 

0
lespaul