Soweit ich weiß, gibt es keine Möglichkeit, dies direkt zu tun (zumindest jetzt nicht). Scheint etwas zu sein, das hinzugefügt werden sollte. Sie haben kürzlich einige "Retweet" -Funktionen hinzugefügt. Es scheint logisch, dies ebenfalls hinzuzufügen.
Hier ist eine Möglichkeit, dies zu tun: Erste Beispiel-Tweet-Daten (von 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>
...
Hier status/showfinden Sie die Benutzer-ID. Anschließend statuses/mentions_timelinewird eine Statusliste für einen Benutzer zurückgegeben. Analysieren Sie einfach diese Rückkehr und suchen Sie nach einem in_reply_to_status_idpassenden Tweet id.
Nehmen wir an, Benutzer2 antwortet auf den Tweet von Benutzer1. Um das aus dem Tweet von Benutzer1 herauszufinden, müsste ich nach Erwähnungen für Benutzer1 suchen. Aber was ist, wenn ich mich nicht als Benutzer1 authentifizieren kann? Sind Erwähnungen ohne Authentifizierung nicht öffentlich zugänglich?
Letronje
@letronje Nicht das ich wüsste - Sie könnten die Such-API verwenden, um '@ user1' im Tweet zu finden, aber ich denke nicht, dass dies so zuverlässig wäre wie die Verwendung status/mentions.
@Dunc Sieht aus wie es gerade geändert wurde zustatus/mentions_timeline
Tim Lytle
@ Tim Guter Punkt. Aber mein Anwendungsfall ähnelt dem von letronje (dh Tweet könnte von jedem stammen), daher muss ich stattdessen die Suche verwenden.
Dunc
51
Hier ist das Verfahren, um die Antworten für einen Tweets zu erhalten
Wenn Sie den Tweet-Speicher abrufen, speichern Sie die tweetId, dh id_str
Verwenden Sie die Twitter-Such-API, um die folgende Abfrage durchzuführen
[q="to:$tweeterusername", sinceId = $tweetId]
Schleife alle Ergebnisse, die Ergebnisse stimmen in_reply_to_status_id_str to $tweetidmit den Antworten für den Beitrag überein.
Dazu müssen Sie das Attribut screen_name des Twitter-Benutzers sowie das Attribut id_str des betreffenden Tweets kennen. Auf diese Weise können Sie einen beliebigen Konversations-Feed aus dem Tweet eines beliebigen Benutzers abrufen:
* UPDATE: Aktualisierter Code, der den Objektzugriff im Vergleich zum Arrayzugriff widerspiegelt:
Warum wurde dies abgelehnt? Es funktioniert genau wie angegeben und beantwortet das Problem genau. Außerdem unterscheidet sich meine Methode von @vsubbotin darin, dass Sie anstelle Ihrer eigenen die ID eines beliebigen Hochtöners verwenden können.
Lincolnberryiii
3
Dies ist gut, kann aber wertvolle Ratenlimits (180 pro Stunde) verschlingen. 180 Tweets laufen mit dieser Methode ... bis dann!
Mike Barwick
8
Twitter hat eine undokumentierte API namens related_results. Sie erhalten Antworten auf die angegebene Tweet-ID. Ich bin mir nicht sicher, wie zuverlässig es als Experiment ist, aber dies ist der gleiche API-Aufruf, der im Twitter-Web aufgerufen wird.
Ja. wie mathieu sagte, ist es nicht mehr aktiv. Es heißt {u'message ': u'Sorry, diese Seite existiert nicht', u'code ': 34}
shadab.tughlaq
7
Hier teile ich einfachen R-Code, um die Antwort eines bestimmten Tweets abzurufen
userName = "SrBachchan"
##fetch tweets from @userName timeline
tweets = userTimeline(userName,n = 1)
## converting tweets list to DataFrame
tweets <- twListToDF(tweets)
## building queryString to fetch retweets
queryString = paste0("to:",userName)
## retrieving tweet ID for which reply is to be fetched
Id = tweets[1,"id"]
## fetching all the reply to userName
rply = searchTwitter(queryString, sinceID = Id)
rply = twListToDF(rply)
## eliminate all the reply other then reply to required tweet Id
rply = rply[!rply$replyToSID > Id,]
rply = rply[!rply$replyToSID < Id,]
rply = rply[complete.cases(rply[,"replyToSID"]),]
## now rply DataFrame contains all the required replies.
gnip.com ist im Grunde der einzige Ort von Drittanbietern, an dem Twitter-Daten abgerufen werden können.
Abraham
3
Ich habe dies folgendermaßen implementiert:
1) statuses / update gibt die ID des letzten Status zurück (wenn include_entities true ist). 2) Anschließend können Sie Status / Erwähnungen anfordern und das Ergebnis nach in_reply_to_status_id filtern. Letzteres sollte der bestimmten ID aus Schritt 1 entsprechen
Diese Klasse sollte genau das tun, was Sie wollen. Es kratzt den HTML-Code der mobilen Site und analysiert eine Konversation. Ich habe es für eine Weile benutzt und es scheint sehr zuverlässig zu sein.
Gibt es eine Möglichkeit, dies in Javascript zu tun?
Yashatreya
Ich bin nicht sicher, ich habe nicht überprüft, werde Sie wissen lassen, wenn etwas gefunden.
pouria babvey
1
Da statuses / Erwähnungen_Timeline die letzten 20 Erwähnungen zurückgibt, ist dies nicht so effizient aufzurufen, und es gibt Einschränkungen wie 75 Anforderungen pro Fenster (15 Minuten). In diesem Fall können wir user_timeline verwenden
(screen_name == name, den wir von status / show erhalten haben)
(count == 1 bis max 200)
count: Gibt die Anzahl der Tweets an, die abgerufen und abgerufen werden sollen, bis zu maximal 200 pro eindeutiger Anforderung.
aus dem Ergebnis Analysieren Sie einfach diese Rückgabe und suchen Sie nach einer in_reply_to_status_id, die mit der ID des ursprünglichen Tweets übereinstimmt.
Natürlich ist es nicht ideal, aber es wird funktionieren.
Antworten:
Soweit ich weiß, gibt es keine Möglichkeit, dies direkt zu tun (zumindest jetzt nicht). Scheint etwas zu sein, das hinzugefügt werden sollte. Sie haben kürzlich einige "Retweet" -Funktionen hinzugefügt. Es scheint logisch, dies ebenfalls hinzuzufügen.
Hier ist eine Möglichkeit, dies zu tun: Erste Beispiel-Tweet-Daten (von
status/show
):Hier
status/show
finden Sie die Benutzer-ID. Anschließendstatuses/mentions_timeline
wird eine Statusliste für einen Benutzer zurückgegeben. Analysieren Sie einfach diese Rückkehr und suchen Sie nach einemin_reply_to_status_id
passenden Tweetid
.quelle
status/mentions
.status/mentions_timeline
Hier ist das Verfahren, um die Antworten für einen Tweets zu erhalten
[q="to:$tweeterusername", sinceId = $tweetId]
in_reply_to_status_id_str to $tweetid
mit den Antworten für den Beitrag überein.quelle
Hier ist meine Lösung. Es nutzt Abrahams Twitter Oauth PHP-Bibliothek: https://github.com/abraham/twitteroauth
Dazu müssen Sie das Attribut screen_name des Twitter-Benutzers sowie das Attribut id_str des betreffenden Tweets kennen. Auf diese Weise können Sie einen beliebigen Konversations-Feed aus dem Tweet eines beliebigen Benutzers abrufen:
* UPDATE: Aktualisierter Code, der den Objektzugriff im Vergleich zum Arrayzugriff widerspiegelt:
quelle
Twitter hat eine undokumentierte API namens related_results. Sie erhalten Antworten auf die angegebene Tweet-ID. Ich bin mir nicht sicher, wie zuverlässig es als Experiment ist, aber dies ist der gleiche API-Aufruf, der im Twitter-Web aufgerufen wird.
Benutzung auf eigene Gefahr. :) :)
Weitere Informationen finden Sie in dieser Diskussion auf dev.twitter: https://dev.twitter.com/discussions/293
quelle
Hier teile ich einfachen R-Code, um die Antwort eines bestimmten Tweets abzurufen
quelle
Nicht auf einfache pragmatische Weise. Es gibt eine Funktionsanforderung dafür:
http://code.google.com/p/twitter-api/issues/detail?id=142
Es gibt einige Websites von Drittanbietern, die APIs bereitstellen, denen jedoch häufig der Status fehlt.
quelle
Ich habe dies folgendermaßen implementiert:
1) statuses / update gibt die ID des letzten Status zurück (wenn include_entities true ist). 2) Anschließend können Sie Status / Erwähnungen anfordern und das Ergebnis nach in_reply_to_status_id filtern. Letzteres sollte der bestimmten ID aus Schritt 1 entsprechen
quelle
Als Staaten satheesh funktioniert es großartig. Hier ist der REST-API-Code, den ich verwendet habe
quelle
Ich bin vor einigen Monaten bei der Arbeit auf dasselbe Problem gestoßen, da ich zuvor ihren
related_tweets
Endpunkt in REST V1 verwendet habe.Also musste ich eine Problemumgehung erstellen, die ich hier dokumentiert habe:
http://adriancrepaz.com/twitter_conversations_apiMirror - Github ForkDiese Klasse sollte genau das tun, was Sie wollen. Es kratzt den HTML-Code der mobilen Site und analysiert eine Konversation. Ich habe es für eine Weile benutzt und es scheint sehr zuverlässig zu sein.
Um ein Gespräch zu führen ...
Anfrage
Antwort
quelle
Sie können das Twarc- Paket in Python verwenden, um alle Antworten auf einen Tweet zu sammeln.
twarc replies 824077910927691778 > replies.jsonl
Es ist auch möglich, alle Antwortketten (Antworten auf die Antworten) auf einen Tweet mit dem folgenden Befehl zu sammeln:
twarc replies 824077910927691778 --recursive
quelle
Da statuses / Erwähnungen_Timeline die letzten 20 Erwähnungen zurückgibt, ist dies nicht so effizient aufzurufen, und es gibt Einschränkungen wie 75 Anforderungen pro Fenster (15 Minuten). In diesem Fall können wir user_timeline verwenden
Der beste Weg: 1. Rufen Sie die Parameter screen_name oder user_id von status / show ab.
2. Verwenden Sie jetzt user_timeline
GET https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=screen_name&count=count
(screen_name == name, den wir von status / show erhalten haben)
(count == 1 bis max 200)
count: Gibt die Anzahl der Tweets an, die abgerufen und abgerufen werden sollen, bis zu maximal 200 pro eindeutiger Anforderung.
aus dem Ergebnis Analysieren Sie einfach diese Rückgabe und suchen Sie nach einer in_reply_to_status_id, die mit der ID des ursprünglichen Tweets übereinstimmt.
Natürlich ist es nicht ideal, aber es wird funktionieren.
quelle