12
votes

Dire si un tweet est un retweet ou non?

J'utilise l'API Twitter afin de tirer des tweets d'utilisateurs spécifiques. Je l'ai travaillé exactement comme je le souhaite, à l'exception de la possibilité de dire si un tweet spécifique est original de l'utilisateur ou s'il s'agit d'une retweet.

J'utilise l'appel suivant: https://api.twitter.com/1/statats/user_timeline.json?include_entities=true&include_rts=true&screen_name=Philiprucker&count=1

Lorsque vous regardez les résultats, il apparaît que Je devrais pouvoir tirer retweeté à partir des résultats et il devrait retourner vrai ou faux. Cependant, cela ne renvoie que la chaîne retweet . xxx

Ceci est le code faire ce que je décris. Je crois que tout le code pertinent est là. Toute aide serait grandement appréciée!


0 commentaires

4 Réponses :


7
votes

Question clarifiante rapide: cherchez-vous à stocker si un tweet a déjà été retweeté ou souhaitez-vous stocker si l'utilisateur faisant la demande retweeté le Tweet?

Le champ booléen "retweeté" attaché à un statut est de perspective à l'utilisateur qui effectue la demande - il indique si l'utilisateur actuel retweeté le tweet ou non, non si le tweet a été retweeté. Un encombrement non zéro serait un meilleur indicateur quant à savoir si le tweet a été retweeté ou non.


2 commentaires

J'essaie de stocker si le tweet de l'utilisateur que je cherche est en fait son propre contenu original ou s'il retweeté quelqu'un.


Cette question est très valable et vous avez raison de le demander car ce n'est pas vraiment ce que je tente de capturer. Merci! Souhaiterait sauf que je n'ai pas assez de représentant.



10
votes

Vous mettez spécifiquement la chaîne retweet dans la table, pas la valeur de $ reweet . .


2 commentaires

Notez également une bonne question de clarification de Taylor ci-dessous sur ce que vous essayez vraiment de stocker ... Je souligne simplement votre faute de frappe. :)


Wow je me sens stupide. Juste wow. Merci. Les petites choses que vous manquez après avoir regardé le même code pendant quelques heures.



2
votes

Utilisation simple GET code> demande avec Langue Yahoo requête (aka YQL) em> strong> pour accéder au Retweeté code> nœud peut être atteint comme ceci:

jsFiddle DEMO: YQL Rest Query for Twitter Retweeté Etat via JSON strong> p>

Le rappel JSON code> résultats sont présentés ci-dessous: p>

$.ajax({
    url: q,
    dataType: "html",
    success: function(data) {

        // If we have data, continue.
        if ( $(data).find('.request-retweeted-popup') ) {

            // Store the value of total retweets in this variable.
            var totalRetweets = $(data).find('strong').text();

            // Show browser alert of the totalRetweets value. Change alert() to console.log() for console log browser responses.
            alert('The following Tweet has been retweeted: ' + totalRetweets +  ' times');

        }

    }
});


8 commentaires

Hank Gay: Veuillez fournir des commentaires à ma réponse pendant votre période de prime. Merci!


Je crois que cela se déroule dans le problème mentionné dans @ Réponse de Taylorsingletary : le champ retweeté vous indique si L'utilisateur actuel a retweeté le tweet en question. Je veux savoir si le tweet en question est lui-même un retweet de Tweet de quelqu'un d'autre.


Merci de clarifier. Veuillez vous reporter à Modifier 2: Récupérez la valeur globale reweeté pour votre réponse. À votre santé!


Y a-t-il un moyen de faire cela en utilisant uniquement l'API? Il pourrait être réalisable pour moi de revenir à la page grattant, mais je fortement préférez une solution à base d'API, et c'était l'intention originale de la générosité (je vous l'attribuerai toujours à vous si elle Il se trouve qu'il n'y a pas un moyen de le faire dans l'API, ce que je commence à soupçonner).


J'ai regardé la section Tweets dans la nouvelle API V1.1 et ce n'est pas une option d'API comme vous l'avez indiqué. Dans le temps moyen, il existe une autre façon de gratter des données si un tweet est un "All Out Retweet à plat" à l'aide de la dernière méthode indiquée dans ma réponse, mais de détecter les mots uniques "retweeté par "Sur le tweet posté. Voir le Tweet de l'OP retweeté ici; Environ 13 Tweet ICI . En regardant le HTML pour cela, il y a 3 attributs de données de données à Datascrepape et comparez: data-retweet-id , item-id , et data-tweet-id .


Aha! Si vous exécutez une URL de «moderne» de retweet, cela vous donne un 302 à l'original!


Pour chaque tweet, retweet ou non, le jour et le mois en haut à droite est le permalink sur le tweet d'origine aussi.


Ce EXEMPLE YQL est pour membre @LAURIEBABINSKI QUI A RETOURNÉE DES TWOWES, Y compris Tweet original de l'OP (voir n ° 12 à partir de cette écriture). Chacun href = "/ lauriebabinski /....ke / code> indique un Tweet d'origine , tandis que tous les autres indiquent un retweeté Tweet . Dans tous les cas, le / Statut / Inclut la page Web réelle du tweet d'origine, la construction d'une URL absolue peut donc être effectuée assez facilement.



1
votes

Si quiconque lisait toujours ceci, je pense que ce fil peut peut-être que ce fil devienne plus succinctement, et est plus correct pour l'API actuelle (1.1) https://stackoverflow.com/a/24041978/1449799

TL; DR Vérifier l'existence de retweeté_status sur l'objet d'état.


0 commentaires