Подтвердить что ты не робот

Есть ли способ получить количество акций Twitter для определенного URL-адреса?

Я просмотрел документацию API, но не смог найти его. Было бы неплохо получить это число, чтобы узнать, насколько популярным является URL. Engadget использует кнопку совместного использования щебета на статьи, если вы ищете пример. Я пытаюсь сделать это через javascript. Любая помощь приветствуется.

4b9b3361

Ответ 1

Нет.

Как мне получить доступ к API подсчета, чтобы узнать, сколько твитов имеет мой URL?

На этом раннем этапе кнопки Tweet API счета является закрытым. Это означает, что вам нужно использовать либо javascript, либо кнопку iframe Tweet, чтобы иметь возможность отображать счетчик. Как и наши системные масштабы, мы рассмотрим, как использовать API подсчета для разработчиков.

http://dev.twitter.com/pages/tweet_button_faq#custom-shortener-count

Ответ 2

Вы можете использовать следующую конечную точку API,

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

Обратите внимание, что конечная точка http://urls.api.twitter.com/ не является общедоступной.)

Конечная точка вернет строку JSON, похожую на,

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

На клиенте, если вы делаете запрос на получение количества общих URL-адресов для своего собственного домена (с которого работает script), тогда будет работать запрос AJAX (например, jQuery.getJSON). В противном случае выполните запрос JSONP, добавив 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>

Ответ 3

Это невозможно сделать с сегодняшнего дня, вы можете прочитать здесь:

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

И никаких планов по его реализации, к сожалению.

Повысить голос, чтобы пользователи не теряли время, пытаясь провести время.

Update: Однако возможно через http://opensharecount.com, они предусматривают замену старого частного JSON-URL на основе запросов, выполненных через API (так что вам не нужно делать все, что работает).

Он основан на конечных точках поиска REST API. Его еще новая система, поэтому мы должны увидеть, как это происходит. В будущем мы можем ожидать больше подобных систем, потому что существует огромный спрос.

Ответ 5

Да,

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

Заменить " http://www.web-technology-experts-notes.in" с " ваш полный URL веб-страницы".

Проверьте количество общего доступа Facebook, Twitter, LinkedIn и Pinterest

http://www.web-technology-experts-notes.in/2015/04/share-count-and-share-url-of-facebook-twitter-linkedin-and-pininterest.html

Update: По состоянию на 21 ноября 2015 года Twitter удалил API-интерфейс "Tweet count endpoint".

Подробнее: https://twitter.com/twitterdev/status/667836799897591808

Ответ 6

Утвержденный ответ является правильным. Существуют и другие версии одной и той же конечной точки, используемые внутри Twitterом.

Например, официальная кнопка общего доступа с подсчетом использует этот параметр:

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

Поддержка JSONP добавляет &callback=func.

Ответ 7

Я знаю, что это старый вопрос, но для меня URL http://cdn.api.twitter.com/1/urls/count.json?url=http://stackoverflow.com не работал в ajax вызовах из-за проблем Cross-origin.

Я решил использовать PHP CURL, я сделал собственный маршрут и вызвал его через 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
}

Важно использовать POST, потому что запрос url в GET вызывает проблемы.

Надеюсь, что это помогло.

Ответ 9

Таким образом вы можете получить его с помощью jquery. Div id = "twitterCount" будет заполняться автоматически при загрузке страницы.

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

Ура!

Ответ 10

Да, есть. Пока вы делаете следующее:

Ответ 11

Я просто прочитал содержимое в json-объект через php, а затем проанализировал его.

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

Прост достаточно, и он отлично подходит для моих целей.

Ответ 12

Этот класс Javascript позволит вам получать информацию об общем доступе от Facebook, Twitter и LinkedIn.

Пример использования

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

Скачать

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

Дополнительные примеры и документация

Класс Javascript для получения URL-адресов на Facebook, Twitter и LinkedIn