Por lo que tengo entendido, no hay forma de hacerlo directamente (al menos no ahora). Parece algo que debería agregarse. Recientemente agregaron algunas capacidades de 'retweet', parece lógico agregar esto también.
Aquí hay una forma posible de hacer esto, la primera muestra de datos de tweets (de 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>
...
Desde status/showpuede encontrar la identificación del usuario. Luego statuses/mentions_timelinedevolverá una lista de estado para un usuario. Simplemente analice ese retorno en busca de un in_reply_to_status_idtweet que coincida con el original id.
Digamos que el usuario2 responde al tweet del usuario1. Para averiguarlo a partir del tweet de user1, necesitaría buscar menciones para user1. Pero, ¿qué pasa en el caso de que no pueda autenticarme como usuario1? ¿Las menciones no son accesibles públicamente sin autorización?
letronje
@letronje No que yo sepa, podrías usar la API de búsqueda para encontrar '@ user1' en el tweet, pero no creo que sea tan confiable como usar status/mentions.
@Dunc Parece que se acaba de cambiar astatus/mentions_timeline
Tim Lytle
@Tim Buen punto. Pero mi caso de uso es similar al de letronje (es decir, el tweet podría ser de cualquiera), así que necesito usar la búsqueda en su lugar.
Dunc
51
Este es el procedimiento para obtener las respuestas de un tweet.
cuando recuperas el tweet, almacena el tweetId, es decir, id_str
usando la API de búsqueda de Twitter, haga la siguiente consulta
[q="to:$tweeterusername", sinceId = $tweetId]
Repita todos los resultados, los resultados que coinciden con in_reply_to_status_id_str to $tweetidson las respuestas de la publicación.
Requiere que conozca el atributo screen_name del usuario de Twitter, así como el atributo id_str del tweet en cuestión. De esta manera, puede obtener un feed de conversación arbitrario desde el tweet de cualquier usuario arbitrario:
* ACTUALIZACIÓN: código actualizado para reflejar el acceso a objetos frente al acceso a la matriz:
¿Por qué se votó en contra? Funciona exactamente como se indica y responde al problema con precisión. Además, mi método difiere de @vsubbotin en que puedes usar la identificación de cualquier Tweeter en lugar de la tuya.
lincolnberryiii
3
Esto es bueno, pero puede consumir valiosos límites de tasa (180 por oauth). 180 tweets ejecutados con este método ... ¡nos vemos!
Mike Barwick
8
Twitter tiene una API indocumentada llamada related_results. Le dará respuestas para la identificación de tweet especificada. No estoy seguro de cuán confiable es ya que es experimental, sin embargo, esta es la misma llamada de API que se llama en la web de Twitter.
Si. como dijo Mathieu, ya no está activo. Dice {u'message ': u'Sorry, that page does not exist', u'code ': 34}
shadab.tughlaq
7
Aquí estoy compartiendo un código R simple para obtener la respuesta de un tweet específico
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 es básicamente el único lugar de terceros para obtener datos de Twitter ahora.
abraham
3
Implementé esto de la siguiente manera:
1) status / update devuelve id del último estado (si include_entities es verdadero) 2) Luego puede solicitar estados / menciones y filtrar el resultado por in_reply_to_status_id. Este último debe ser igual al ID particular del paso 1
Esta clase debería hacer exactamente lo que quieres. Raspa el HTML del sitio móvil y analiza una conversación. Lo he usado por un tiempo y parece muy confiable.
No estoy seguro, no lo verifiqué, te avisaré si encontré algo.
pouria babvey
1
dado que statuses / mentions_timeline devolverá las 20 menciones más recientes, esta no será tan eficiente para llamar, y tiene limitaciones como 75 solicitudes por ventana (15min), en lugar de esto podemos usar user_timeline
(screen_name == nombre que obtuvimos de estado / show)
(recuento == 1 hasta un máximo de 200)
count: Especifica el número de Tweets para intentar recuperar, hasta un máximo de 200 por solicitud distinta.
del resultado Simplemente analice ese retorno en busca de un in_reply_to_status_id que coincida con la identificación del tweet original.
Respuestas:
Por lo que tengo entendido, no hay forma de hacerlo directamente (al menos no ahora). Parece algo que debería agregarse. Recientemente agregaron algunas capacidades de 'retweet', parece lógico agregar esto también.
Aquí hay una forma posible de hacer esto, la primera muestra de datos de tweets (de
status/show
):Desde
status/show
puede encontrar la identificación del usuario. Luegostatuses/mentions_timeline
devolverá una lista de estado para un usuario. Simplemente analice ese retorno en busca de unin_reply_to_status_id
tweet que coincida con el originalid
.fuente
status/mentions
.status/mentions_timeline
Este es el procedimiento para obtener las respuestas de un tweet.
[q="to:$tweeterusername", sinceId = $tweetId]
in_reply_to_status_id_str to $tweetid
son las respuestas de la publicación.fuente
Aquí está mi solución. Utiliza la biblioteca PHP Oauth de Twitter de Abraham: https://github.com/abraham/twitteroauth
Requiere que conozca el atributo screen_name del usuario de Twitter, así como el atributo id_str del tweet en cuestión. De esta manera, puede obtener un feed de conversación arbitrario desde el tweet de cualquier usuario arbitrario:
* ACTUALIZACIÓN: código actualizado para reflejar el acceso a objetos frente al acceso a la matriz:
fuente
Twitter tiene una API indocumentada llamada related_results. Le dará respuestas para la identificación de tweet especificada. No estoy seguro de cuán confiable es ya que es experimental, sin embargo, esta es la misma llamada de API que se llama en la web de Twitter.
Úselo bajo su propio riesgo. :)
Para obtener más información, consulte esta discusión en dev.twitter: https://dev.twitter.com/discussions/293
fuente
Aquí estoy compartiendo un código R simple para obtener la respuesta de un tweet específico
fuente
No de una manera pragmática fácil. Hay una solicitud de función para ello:
http://code.google.com/p/twitter-api/issues/detail?id=142
Hay un par de sitios web de terceros que proporcionan API, pero a menudo pierden estados.
fuente
Implementé esto de la siguiente manera:
1) status / update devuelve id del último estado (si include_entities es verdadero) 2) Luego puede solicitar estados / menciones y filtrar el resultado por in_reply_to_status_id. Este último debe ser igual al ID particular del paso 1
fuente
Como dice satheesh, funciona muy bien. Aquí está el código REST API que utilicé
fuente
Me encontré con el mismo problema hace unos meses en el trabajo, ya que anteriormente usaba su
related_tweets
punto final en REST V1.Así que tuve que crear una solución alternativa, que he documentado aquí:
http://adriancrepaz.com/twitter_conversations_apiMirror - Github forkEsta clase debería hacer exactamente lo que quieres. Raspa el HTML del sitio móvil y analiza una conversación. Lo he usado por un tiempo y parece muy confiable.
Para buscar una conversación ...
Solicitud
Respuesta
fuente
Puede usar el paquete twarc en python para recopilar todas las respuestas a un tweet.
twarc replies 824077910927691778 > replies.jsonl
Además, es posible recopilar todas las cadenas de respuesta (respuestas a las respuestas) a un tweet usando el siguiente comando:
twarc replies 824077910927691778 --recursive
fuente
dado que statuses / mentions_timeline devolverá las 20 menciones más recientes, esta no será tan eficiente para llamar, y tiene limitaciones como 75 solicitudes por ventana (15min), en lugar de esto podemos usar user_timeline
la mejor manera: 1. Obtenga los parámetros screen_name o user_id de status / show.
2. ahora use user_timeline
GET https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=screen_name&count=count
(screen_name == nombre que obtuvimos de estado / show)
(recuento == 1 hasta un máximo de 200)
count: Especifica el número de Tweets para intentar recuperar, hasta un máximo de 200 por solicitud distinta.
del resultado Simplemente analice ese retorno en busca de un in_reply_to_status_id que coincida con la identificación del tweet original.
Obviamente, no es ideal, pero funcionará.
fuente