it-swarm.com.de

Gibt es eine Möglichkeit, den Twitter-Anteil für eine bestimmte URL abzurufen?

Ich habe die API-Dokumentation durchgesehen, konnte sie aber nicht finden. Es wäre schön, diese Nummer zu ergattern, um zu sehen, wie beliebt eine URL ist. Wenn Sie nach einem Beispiel suchen, verwendet Engadget die Twitter-Share-Schaltfläche für Artikel. Ich versuche dies über Javascript zu tun. Jede Hilfe wird geschätzt.

33
Xavier

Nein.

Wie kann ich auf die count-API zugreifen, um herauszufinden, wie viele Tweets meine URL hatte?

In dieser frühen Phase des Tweet-Buttons ist die Count-API privat. Dies bedeutet, dass Sie entweder unser Javascript oder den Iframe-Tweet-Button verwenden müssen, um die Anzahl zu rendern. Bei der Skalierung unserer Systeme werden wir uns bemühen, die Count-API für Entwickler verfügbar zu machen.

http://dev.Twitter.com/pages/Tweet_button_faq#custom-shortener-count

4
André Paramés

Sie können den folgenden API-Endpunkt verwenden:

http://cdn.api.Twitter.com/1/urls/count.json?url=http://stackoverflow.com

Beachten Sie, dass der http://urls.api.Twitter.com/-Endpunkt nicht public ist.)

Der Endpunkt gibt eine JSON-Zeichenfolge zurück, ähnlich wie

{"count":27438,"url":"http:\/\/stackoverflow.com\/"}

Wenn Sie auf dem Client eine Anforderung zum Abrufen der URL-Freigabeanzahl für Ihre eigene Domäne (die Domäne, von der das Skript ausgeführt wird) abrufen, funktioniert eine Anforderung AJAX (z. B. jQuery.getJSON ). Andernfalls geben Sie eine JSONP-Anforderung ab, indem Sie callback=? anhängen:

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>

Update:

Ab dem 21. November 2015 funktioniert diese Methode, um Twitter-Anteil zu erhalten, nicht mehr. Lesen Sie mehr unter: https://blog.Twitter.com/2015/hard-decisions-for-a-sustainable-platform

78
user799188

Dies ist seit heute nicht mehr möglich, mehr dazu hier:

https://Twitter.com/twitterdev/status/667836799897591808

Und keine Pläne, es leider wieder umzusetzen. 

Up abstimmen, damit Benutzer keine Zeit beim Ausprobieren verlieren.

Update: Es ist jedoch über http://opensharecount.com möglich. Sie bieten einen Drop-In-Ersatz für die alte private JSON-URL, die auf Suchvorgängen basiert, die über die API (also Sie verwenden) vorgenommen werden Ich muss nicht all diese Arbeit machen.

Es basiert auf den REST API-Suchendpunkten. Es ist immer noch ein neues System, also sollten wir sehen, wie es läuft. In Zukunft können wir mehr von ähnlichen Systemen erwarten, da eine große Nachfrage besteht.

51

dies ist für URL mit https (für Brodie) https://cdn.api.Twitter.com/1/urls/count.json?url=YOUR_URL

5

Ja, 

https://share.yandex.ru/gpp.xml?url=http://www.web-technology-experts-notes.in

Ersetzen Sie " http://www.web-technology-experts-notes.in " durch "Ihre vollständige Webseiten-URL".

Überprüfen Sie die Anzahl der Freigaben von Facebook, Twitter, LinkedIn und Pinterest.

http://www.web-technology-experts-notes.in/2015/04/aktien-zahl-und-nutzungsrechte-von-facebook-Twitter-linkedin-und-pininterest.html

Update: Seit dem 21. November 2015 hat Twitter die API "Tweet count endpoint" entfernt.

Weitere Informationen: https://Twitter.com/twitterdev/status/667836799897591808

4
Poonam Gupta

Die genehmigte Antwort ist die richtige. Es gibt andere Versionen desselben Endpunkts, die intern von Twitter verwendet werden.

Zum Beispiel verwendet der offizielle Share-Button mit count diesen:

https://cdn.syndication.Twitter.com/widgets/tweetbutton/count.json?url=[URL]

JSONP-Unterstützung fügt dort &callback=func hinzu.

2
mcont

Ich weiß, dass dies eine alte Frage ist, aber für mich funktionierte die URL http://cdn.api.Twitter.com/1/urls/count.json?url=http://stackoverflow.com bei ajax-Aufrufen aufgrund von Cross-Origin-Problemen nicht. 

Ich habe das Problem mit PHP CURL gelöst, eine benutzerdefinierte Route erstellt und diese über ajax aufgerufen.

  /* 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
}

Die Verwendung einer POST ist wichtig, da die url-Anforderung in der GET-Anforderung Probleme verursacht. 

Hoffe es hat geholfen.

2
steo

Auf diese Weise können Sie es mit Jquery erhalten. Die div id = "twitterCount" wird automatisch gefüllt, wenn die Seite geladen wird.

 Funktion getTwitterCount (URL) {
 var tweets; 
 $ .getJSON ('http://urls.api.Twitter.com/1/urls/count.json?url=' + url + '& callback =?', Funktion (Daten) {
 tweets = data.count ; 
 $ ('# twitterCount'). html (Tweets); 
}); 
 } 
 var urlBase = 'http: // http: //stackoverflow.com'; 
 getTwitterCount (urlBase); 

Prost!

1
Cassio Seffrin

Ja da ist. Solange Sie Folgendes tun:

  1. Geben Sie eine JSONP an eine der URLs aus:

    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]

  2. Stellen Sie sicher, dass die Anfrage, die Sie stellen, aus derselben Domäne stammt wie der [URL_IN_REQUEST]. Sonst funktioniert es nicht.

    Beispiel:

    Anfordern von example.com zum Abfragen der Anzahl von example.com/page/1. Sollte arbeiten.

    Anfordern von another-example.com zum Abfragen der Anzahl von example.com/page/1. Wird nicht funktionieren.

1
Muhammad Reda

In diesem Kommentar https://stackoverflow.com/a/8641185/1118419 wird vorgeschlagen, die Topsy-API zu verwenden. Ich bin nicht sicher, ob die API korrekt ist:

Twitter-Antwort für www.e-conomic.dk:

http://urls.api.Twitter.com/1/urls/count.json?url=http://www.e-conomic.dk

zeigt 10 Zähler

Topsy Antwort von www.e-conomic.dk:

http://otter.topsy.com/stats.json?url=http://www.e-conomic.dk

18 zählen

1
Andriy Kuba

Ich lese den Inhalt einfach per PHP in ein Json-Objekt und analysiere es dann.

<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>

Einfach genug, und es erfüllt meine Zwecke perfekt.

0
TiKi

Mit dieser Javascript-Klasse können Sie Freigabeinformationen von Facebook, Twitter und LinkedIn abrufen.

Anwendungsbeispiel

<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>

Herunterladen

https://404it.no/js/blog/SocialMediaStats.js

Weitere Beispiele und Dokumentation

Javascript-Klasse zum Abrufen von URL-Freigaben auf Facebook, Twitter und LinkedIn

0
PerKristian