web-dev-qa-db-fra.com

Comment obtenir une liste de tous les retweeters sur Twitter?

J'ai vu de nombreuses entreprises faire comme des loteries Twitter où les utilisateurs retweetaient leur tweet puis l'un des retweeters recevrait le prix ou peu importe ... Je me demandais maintenant comment obtenir la liste de tous les retweeters ou choisir le gagnant?

J'ai vérifié l'API Twitter et trouvé seulement cette chose: GET statuses/retweets /: id mais il retourne un maximum de 100 retweeters. Est-ce le seul moyen?

20
Rihards

On dirait qu'il y a quelques services qui font presque exactement cela. Un rapide google apparaît http://onekontest.com/ et il existe quelques autres services de concours Twitter, mais ils semblent tous présenter des niveaux de défaillance différents, car ils n'ont pas suivi les modifications apportées à l'API.

En ce qui concerne l'API Twitter elle-même, si vous attendez plus de 100 réponses, je pense que l'utilisation de GET statuses/mentions est la solution la plus judicieuse. Cet appel d'API renvoie les mentions d'un utilisateur et vous pouvez passer l'indicateur include_rts pour inclure tous les retweets de vos tweets. Ensuite, si vous souhaitez répertorier les RT d'un tweet spécifique, vous pouvez vérifier le champ in_reply_to_status_id dans les données renvoyées pour voir s'il correspond à l'ID de tweet d'origine. Cet appel d'API ne renvoie que les 800 derniers états, 200 à la fois. Par conséquent, si vous attendez un tas de données, vous devrez interroger l'API de manière répétée pour obtenir tous les tweets. J'imagine que des services comme favstar font exactement cela, mais à plus grande échelle.

Si vous cherchez réellement du code pour faire quelque chose comme ceci, j'ai écrit une application sinatra appelée Twitter-rss-digest qui gère l'interrogation de Twitter au fil du temps pour suivre différentes sortes de requêtes. C'est assez difficile, et ne gère pas cela de manière spécifique, mais cela pourrait vous orienter dans la bonne direction si vous voulez coder quelque chose.

17
muffinista

Il existe une méthode API qui renvoie jusqu'à 100 entrées d'une collection cursorisée (vous pouvez donc la parcourir pour en obtenir davantage).

Vous trouverez plus d’informations sur le site Twitter des développeurs à l’adresse statuts/retweeters/ids de GET, mais vous voudrez également lire leur page sur Utilisation des curseurs pour parcourir les collections .

Modifié pour ajouter: Cela dit, le premier fil du site des développeurs apparu dans un rapide google a @episod , un employé de Twitter qui dit:

Vous ne pouvez probablement pas les atteindre tous. Les données sont dispersées. Le mieux est d’utiliser l’API REST pour identifier de nombreux utilisateurs qui ont exécuté le retweet, mais les données seront toujours soumises à des contraintes.

Il est plus facile de suivre les retweets au fur et à mesure que d'essayer de les retrouver dans le passé. Utilisez le Streaming API pour cela.

Source: Comment obtenir tous les retweet d'un Tweet donné

5
Owen Blacker

J'aime la méthode de muffinista, mais je pense que si vous voulez une liste complète de retweets, activez simplement les notifications par courriel retweet et écrivez un script qui interroge la boîte de courrier électronique pour ceux qui correspondent au sujet "retweeté l'un de vos Tweets!" et mettre les données dans une table. Faites cela dès le début.

2
aalaap

Le site https://twren.ch/ répertorie tous les retweeters pour un Tweet donné (notez qu'il n'enregistre que les retweeters qui suivent directement la source Tweeter.) Néanmoins, il s'agit probablement de la seule source publique disponible.

1
Bhavtosh