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

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

 mcont21 нояб. 2015 г., 10:41
Это потому чтоофициальные кнопки Twitter удалили опцию, чтобы показать количество акций.
 Alex21 нояб. 2015 г., 09:38
по состоянию на ноябрь 2015 года ни один из ответов на этой странице не работает.

Ответы на вопрос(12)

Вы можете использовать следующую конечную точку 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 для вашего собственного домена (с которого запускается скрипт), тогда будет работать запрос 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>

Обновить:

С 21 ноября 2015 года этот способ подсчета доли в твиттере больше не работает. Узнайте больше на:https://blog.twitter.com/2015/hard-decisions-for-a-sustainable-platform

 mcont08 сент. 2015 г., 11:50
Обеhttp://cdn.api.twitter.com/ а такжеhttp://urls.api.twitter.com/ официально не являются публичными или документированными, но они одинаковы и работают нормально. Теперь есть новая конечная точка, которую использует официальный виджет, я разместил ее ниже, просто чтобы поделиться.
 Artem Russakovskii21 нояб. 2015 г., 00:50
Ааа он мертв
 Ville Laurikari14 окт. 2015 г., 17:53
Конечная точка API (приватная в Twitter) будет закрыта 20 ноября 2015 года.
 jimbo208729 сент. 2015 г., 10:17
По состоянию на октябрь 2015 года, Twitter будет не поддерживать эту конечную точкуtwittercommunity.com/t/...
 Davorin20 нояб. 2012 г., 14:04
он поддерживает jsonp, просто добавьте & callback = my_callback

вы можете получить это с помощью 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); 

Ура!

 Dan Dascalescu20 мар. 2015 г., 22:52
Конечная точка urls.api.twitter.comзапрещено из общественного пользования.
 Cassio Seffrin06 сент. 2016 г., 05:52
Спасибо @DanDascalescu, извините за мою более позднюю обратную связь, когда я писал ответ, это было возможно, но теперь это больше не так. Пожалуйста, не обращайте внимания на мой ответ выше, вот оправдание в твиттере:twitter.com/twitterdev/status/667836799897591808

Да,

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

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

Проверьте общее количествоfacebook, щебет, LinkedIn а такжеPinterest

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

Обновить: По состоянию на 21 ноября 2015 года Twitter удалил API «Конечная точка подсчета твитов».

Читать далее:https://twitter.com/twitterdev/status/667836799897591808

 lcm28 сент. 2016 г., 03:23
Да, это ушло. Я хотел бы обновленный ответ на это.
 Artem Russakovskii21 нояб. 2015 г., 00:50
Это умерло сегодня.

https://stackoverflow.com/a/8641185/1118419 предлагает использовать Topsy API. Я не уверен, что API является правильным:

Ответ в Твиттере для www.e-conomic.dk:

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

показывает 10 граф

Лучший ответ от www.e-conomic.dk:

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

18 граф

 mireille raad09 мая 2013 г., 08:50
но у них есть действительно маленькая крышка для запросов - нет?
 panchicore29 июл. 2012 г., 23:16
У topsy есть собственный анализатор твитов, я думаю, что они загружают твиттер-данные в реальном времени и имеют другую стратегию агрегации, чем твиттер.
 Mona Jalal19 окт. 2013 г., 03:31
@ Андрей Куба: Это не показывает никакого результата дляotter.topsy.com/stats.json?url=http://www.e-conomic.dk в Google Chrome. Ты знаешь почему?

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

 Tom Toms22 авг. 2014 г., 12:54
На самом деле это правильный URL для запроса количества твитов, https или нет.urls.api.twitter.com/1/urls/count.json?url= не является публичным API и не должен использоваться.

ВыпускJSONP запрос к одному из 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]

Убедитесь, что ваш запрос относится к тому же домену, что и[URL_IN_REQUEST], Иначе это не сработает.

Пример:

Делать запросы отexample.com запросить количествоexample.com/page/1. Должно сработать.

Делать запросы отanother-example.com запросить количествоexample.com/page/1. Не будет работать.

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

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

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

Голосуйте, чтобы пользователи не теряли времени на попытки.

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

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

 Anselme04 дек. 2015 г., 00:32
Ну, еще не уверен, что они не будут реализовывать это снова. В своих последних постах в блогах они просили дать отзывы и упоминали, что это может произойти снова. Парень спросил их прямо на твиттере:twittercommunity.com/t/...
Решение Вопроса

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

На этой ранней стадии Tweet Button API count является закрытым. Это означает, что вам нужно использовать наш JavaScript или iframe Tweet Button, чтобы иметь возможность отображать счет. По мере масштабирования наших систем мы будем стремиться сделать API подсчета общедоступным для разработчиков.

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

 Dan Dascalescu20 мар. 2015 г., 22:32
Ссылка не работает сейчас.
 jahrichie12 сент. 2013 г., 23:27
ты абсолютно можешь!
 Artem Russakovskii21 нояб. 2015 г., 00:49
Aaa и count.json не работает на сегодняшний день.
 panchicore29 июл. 2012 г., 23:04
У @ user799188 есть обновление для вас

http://cdn.api.twitter.com/1/urls/count.json?url=http://stackoverflow.com не работал вajax звонки из-заCross-origin вопросы.

Я решил с помощью PHPCURLЯ сделал собственный маршрут и назвал его через 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 запрос причины проблем.

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

 steo21 нояб. 2015 г., 12:45
Да. Должен найти альтернативный путь
 Artem Russakovskii21 нояб. 2015 г., 00:49
Это просто сломалось сегодня.

а затем разбираю его ..

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

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

 Dan Dascalescu20 мар. 2015 г., 22:52
Конечная точка urls.api.twitter.comзапрещено из общественного пользования.

же конечной точки, которые используются внутри Twitter.

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

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

Есть поддержка JSONP&callback=func.

 David29 сент. 2015 г., 15:46
Спасибо за обновления. Это действительно должно быть одобрено больше сейчас!
 Artem Russakovskii21 нояб. 2015 г., 00:49
Больше не работает.

Ваш ответ на вопрос