J'ai parcouru la documentation de l'API mais je ne l'ai pas trouvée. Ce serait bien de saisir ce nombre pour voir à quel point une URL est populaire. Engadget utilise le bouton de partage Twitter sur les articles si vous cherchez un exemple. J'essaie de faire cela avec javascript. Toute aide est appréciée.
Non.
Comment puis-je accéder à l'API de comptage pour savoir combien de tweets mon URL a eu?
À ce stade précoce du bouton Tweet, l’API de comptage est privée. Cela signifie que vous devez utiliser notre bouton Tweet javascript ou iframe pour pouvoir rendre le décompte. À mesure que nos systèmes évoluent, nous chercherons à rendre publique le nombre d’API que les développeurs pourront utiliser.
http://dev.Twitter.com/pages/Tweet_button_faq#custom-shortener-count
Vous pouvez utiliser le point de terminaison API suivant,
http://cdn.api.Twitter.com/1/urls/count.json?url=http://stackoverflow.com
Notez que le point final http://urls.api.Twitter.com/
est not public .)
Le noeud final renverra une chaîne JSON semblable à,
{"count":27438,"url":"http:\/\/stackoverflow.com\/"}
Sur le client, si vous demandez le nombre de partages d'URL de votre propre domaine (celui depuis lequel le script est exécuté), une demande AJAX fonctionnera (par exemple, jQuery.getJSON
). Sinon, émettez une demande JSONP en ajoutant callback=?
:
jQuery.getJSON('https://cdn.api.Twitter.com/1/urls/count.json?url=http://stackoverflow.com/&callback=?', function (data) {
jQuery('#so-url-shares').text(data.count);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="so-url-shares">Calculating...</div>
Mettre à jour:
À compter du 21 novembre 2015, cette façon d'obtenir le nombre de partages sur Twitter ne fonctionne plus. En savoir plus sur: https://blog.Twitter.com/2015/hard-decisions-for-a-sustainable-platform
Ce n'est plus possible à partir d'aujourd'hui, vous pouvez en lire plus ici:
https://Twitter.com/twitterdev/status/667836799897591808
Et aucun projet de le mettre en œuvre, malheureusement.
Vote positif pour que les utilisateurs ne perdent pas de temps à essayer.
Update: Il est cependant possible via http://opensharecount.com , ils fournissent un remplacement instantané de l'ancienne URL JSON privée en fonction des recherches effectuées via pas besoin de faire tout ce travail).
Il est basé sur les points de terminaison REST API Search. Son système toujours nouveau, nous devrions donc voir comment ça se passe. À l'avenir, nous pouvons nous attendre à davantage de systèmes similaires, car la demande est énorme.
c'est pour url avec https (pour Brodie) https://cdn.api.Twitter.com/1/urls/count.json?url=YOUR_URL
Oui,
https://share.yandex.ru/gpp.xml?url=http://www.web-technology-experts-notes.in
Remplacez " http://www.web-technology-experts-notes.in " par "l'URL de votre page Web complète".
Vérifiez le nombre de partages de Facebook, Twitter, LinkedIn et Pinterest.
Mise à jour: À compter du 21 novembre 2015, Twitter a supprimé l'API "Tweet count endpoint".
Lire la suite: https://Twitter.com/twitterdev/status/667836799897591808
La réponse approuvée est la bonne. Il existe d'autres versions du même terminal, utilisées en interne par Twitter.
Par exemple, le bouton de partage officiel avec nombre utilise celui-ci:
https://cdn.syndication.Twitter.com/widgets/tweetbutton/count.json?url=[URL]
Le support JSONP ajoute-t-il &callback=func
.
Je sais que c’est une vieille question, mais pour moi, l’url http://cdn.api.Twitter.com/1/urls/count.json?url=http://stackoverflow.com
ne fonctionnait pas dans les appels ajax
en raison de problèmes liés à Cross-Origin
.
J'ai résolu avec PHP CURL
, j'ai créé un chemin personnalisé et je l'ai appelé via ajax.
/* Other Code */
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
CURLOPT_ENCODING => "", // handle compressed
CURLOPT_USERAGENT => "test", // name of client
CURLOPT_AUTOREFERER => true, // set referrer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // time-out on connect
CURLOPT_TIMEOUT => 120, // time-out on response
);
$url = $_POST["url"]; //whatever you need
if($url !== ""){
$curl = curl_init("http://urls.api.Twitter.com/1/urls/count.json?url=".$url);
curl_setopt_array($curl, $options);
$result = curl_exec($curl);
curl_close($curl);
echo json_encode(json_decode($result)); //whatever response you need
}
Il est important d’utiliser une variable POST
car la transmission de la demande url
dans la demande GET
cause des problèmes.
J'espère que ça a aidé.
De cette façon, vous pouvez l'obtenir avec jQuery. Le div id = "twitterCount" sera automatiquement rempli lorsque la page sera chargée.
fonction getTwitterCount (url) { var tweets; $ .getJSON ('http://urls.api.Twitter.com/1/urls/count.json?url=' + url + '& callback =?', fonction (données) { tweets = data.count ; $ ('# twitterCount'). html (tweets); }); } var urlBase = 'http: // http: //stackoverflow.com' '. getTwitterCount (urlBase);
À votre santé!
Oui il y a. Tant que vous faites ce qui suit:
Émettez a JSONP request à l'une des URL:
http://cdn.api.Twitter.com/1/urls/count.json?url=[URL_IN_REQUEST]&callback=[YOUR_CALLBACK]
http://urls.api.Twitter.com/1/urls/count.json?url=[URL_IN_REQUEST]&callback=[YOUR_CALLBACK]
Assurez-vous que la demande que vous faites provient du même domaine que le [URL_IN_REQUEST]
. Sinon, cela ne fonctionnera pas.
Exemple:
Demander à partir de example.com
de demander le nombre de example.com/page/1
. Devrait marcher.
Demander à partir de another-example.com
de demander le nombre de example.com/page/1
. Ne fonctionnera pas.
Ce commentaire https://stackoverflow.com/a/8641185/1118419 propose d'utiliser l'API Topsy. Je ne suis pas sûr que l'API est correcte:
Réponse Twitter pour www.e-conomic.dk:
http://urls.api.Twitter.com/1/urls/count.json?url=http://www.e-conomic.dk
montre 10 fois
Réponse de Topsy sur www.e-conomic.dk:
http://otter.topsy.com/stats.json?url=http://www.e-conomic.dk
18 points
Je viens de lire le contenu dans un objet JSON via php, puis l'analyser ..
<script>
<?php
$Tweet_count_url = 'http://urls.api.Twitter.com/1/urls/count.json?url='.$post_link;
$Tweet_count_open = fopen($Tweet_count_url,"r");
$Tweet_count_read = fread($Tweet_count_open,2048);
fclose($Tweet_count_open);
?>
var obj = jQuery.parseJSON('<?=$Tweet_count_read;?>');
jQuery("#Tweet-count").html("("+obj.count+") ");
</script>
Assez simple, et cela répond parfaitement à mes besoins.
Cette classe Javascript vous permettra de partager des informations partagées sur Facebook, Twitter et LinkedIn.
Exemple d'utilisation
<p>Facebook count: <span id="facebook_count"></span>.</p>
<p>Twitter count: <span id="Twitter_count"></span>.</p>
<p>LinkedIn count: <span id="linkedin_count"></span>.</p>
<script type="text/javascript">
var smStats=new SocialMediaStats('https://google.com/'); // Replace with your desired URL
smStats.facebookCount('facebook_count'); // 'facebook_count' refers to the ID of the HTML tag where the result will be placed.
smStats.twitterCount('Twitter_count');
smStats.linkedinCount('linkedin_count');
</script>
Télécharger
https://404it.no/js/blog/SocialMediaStats.js
Plus d'exemples et de documentation
Classe Javascript pour obtenir des partages d'URL sur Facebook, Twitter et LinkedIn