2015-07-12 16 views
6

Voglio ottenere tutti i "retweet con commenti" di un tweet.Come trovare tutti i "retweet con commenti" per un particolare Tweet usando l'API?

Qui ci sono alcune cose che ho notato con Twitter API

  1. retweet con commenti sono trattati come tweets. Il conteggio Retweet non aumenta se si aggiunge un commento, anche il messaggio Twitter è "XYZ citato te invece si Ritwittato'
  2. Chiaramente non è possibile utilizzare questa API endpoint https://dev.twitter.com/rest/reference/post/statuses/retweet/:id

C'è un modo per trovare tutti i 'tweet/retweet con commento' se è possibile fornire l'originale Tweet/Id?

risposta

4

Quindi ti riferisci ai tweet quotati (retweet con commenti). Non esiste ancora un metodo ufficiale per l'API REST, tuttavia, ci sono un paio di modi per farlo

  1. Dal momento che tutti i tweet citati contengono l'URL breve a quello originale, è comunque possibile utilizzare in_reply_to_status_ide filtro Short URL del tweet originale
  2. Cerca tweet che contengono il campo quoted_status_id questo può essere fatto sia attraverso il riposo o API STREAMING.

quoted_status_id: questo campo emerge solo quando il Tweet è una citazione Tweet. Questo campo contiene il valore intero dell'ID Tweet del Tweet quotato.

+0

Grazie Leb! Mi riferisco a "Retweet di un tweet con commenti aggiuntivi aggiunti dall'utente sul retweet" http://mashable.com/2015/04/07/twitter-retweet-comments/ – codeObserver

+0

Fammi sapere se questo chiarisce le cose. – Leb

+0

Grazie Leb. Quindi sembra che devo prendere tutti i tweet da Twitter e filtrare quelli basati su quoted_status_id e in_reply_to_status_id. Sembra molto costoso e non è sicuro che Twitter consentirà di darmi tutti i tweet. C'è un modo in cui posso 'iniziare' con il tweet/id originale e quindi ottenere tutti i tweet citati per quello? – codeObserver

0

Questo non è facile da realizzare. Ecco il metodo API brute-force per trovare i tweet citati.

Prendi il tuo tweet id, sarà qualcosa come 750176081987014657.

ricerca GET/tweets

Utilizzare le API di Twitter e cercare il tweet.

https://dev.twitter.com/rest/reference/get/search/tweets

La richiesta GET sarà simile a questo:

https://api.twitter.com/1.1/search/tweets.json?q=750176081987014657&count=100

L'argomento q "query" è il tweet id. Ho impostato l'argomento risultato count al massimo (100).

Autorizzazione

Naturalmente con l'API di Twitter c'è un sacco di lavoro difficile intestazione di autorizzazione devi fare così, al fine di completare la richiesta GET. Questo è documentato altrove e va oltre lo scopo di questa risposta.

Risultati e Conclusioni

Quando si hanno i risultati JSON di questa richiesta GET, concentrarsi sulla raccolta statuses. Per ogni tweet nella raccolta (altrimenti noto come "stato"), controlla se contiene un campo quoted_status_id. Se lo fa, e il valore del campo corrisponde al tuo tweet id, il tweet è una citazione tweet. In caso contrario, è semplicemente un retweet senza commenti aggiunti. Dovrai anche occuparti di iterare attraverso l'impaginazione dei risultati se ce ne sono più di 100. Ciò avviene cercando un campo search_metadata.next_results e recuperando la successiva stringa di query GET da esso, che verrà fornita per te.

Problemi correlati