我查看了API文档但找不到它。抓住这个数字看看网址的流行程度会很高兴。如果您正在寻找示例,Engadget会在文章上使用Twitter分享按钮。我试图通过javascript做到这一点。任何帮助表示赞赏。
答案 0 :(得分:78)
您可以使用以下API端点
http://cdn.api.twitter.com/1/urls/count.json?url=http://stackoverflow.com
请注意,http://urls.api.twitter.com/
端点为not public。)
端点将返回类似于
的JSON字符串{"count":27438,"url":"http:\/\/stackoverflow.com\/"}
在客户端上,如果您要求获取自己域(运行脚本的域)的URL共享计数,那么AJAX请求将起作用(例如jQuery.getJSON
)。否则,通过附加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>
<强>更新强>
截至2015年11月21日,这种获取推特份额的方式不再适用。详情请见:https://blog.twitter.com/2015/hard-decisions-for-a-sustainable-platform
答案 1 :(得分:51)
从今天开始,这是不可能的,你可以在这里阅读更多内容:
https://twitter.com/twitterdev/status/667836799897591808
不幸的是,没有计划实施它。
向上投票,以便用户不会浪费时间尝试。
<强>更新强> 但是,通过http://opensharecount.com,它们可以根据通过API进行的搜索提供旧的私有JSON URL的替代品(因此您不需要完成所有工作)。
它基于REST API搜索端点。它仍然是新系统,所以我们应该看看它是怎么回事。在未来,我们可以期待更多类似的系统,因为需求量巨大。
答案 2 :(得分:5)
这是用于https的网址(适用于Brodie) https://cdn.api.twitter.com/1/urls/count.json?url=YOUR_URL
答案 3 :(得分:4)
没有
如何访问计数API以了解我的网址有多少推文?
在推文按钮的早期阶段,计数API是私有的。这意味着您需要使用我们的javascript或iframe Tweet Button才能呈现计数。随着我们的系统规模扩大,我们将寻求公开计数API供开发人员使用。
http://dev.twitter.com/pages/tweet_button_faq#custom-shortener-count
答案 4 :(得分:4)
是的,
https://share.yandex.ru/gpp.xml?url=http://www.web-technology-experts-notes.in
将“http://www.web-technology-experts-notes.in”替换为“您的完整网页网址”。
检查 Facebook , Twitter , LinkedIn 和 Pinterest
的共享计数<强>更新强> 截至2015年11月21日,Twitter已删除“Tweet count endpoint”API。
阅读更多:https://twitter.com/twitterdev/status/667836799897591808
答案 5 :(得分:2)
批准的回复是正确的。还有其他版本的同一端点,由Twitter内部使用。
例如,带有计数的官方分享按钮使用这个:
https://cdn.syndication.twitter.com/widgets/tweetbutton/count.json?url=[URL]
JSONP支持添加了&callback=func
。
答案 6 :(得分:2)
我知道这是一个老问题,但对我来说,由于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
。
希望它有所帮助。
答案 7 :(得分:1)
此评论https://stackoverflow.com/a/8641185/1118419建议使用Topsy API。我不确定API是否正确:
Twitter对www.e-conomic.dk的反应:
http://urls.api.twitter.com/1/urls/count.json?url=http://www.e-conomic.dk
显示10个计数
来自www.e-conomic.dk的Topsy回复:
http://otter.topsy.com/stats.json?url=http://www.e-conomic.dk
18次
答案 8 :(得分:1)
这样你可以用jquery来获取它。 div id =&#34; twitterCount&#34;将在页面加载时自动填充。
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);
干杯!
答案 9 :(得分:1)
是的,有。只要您执行以下操作:
向其中一个网址发出JSONP个请求:
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
的计数。 无法使用。
答案 10 :(得分:0)
我只是通过php将内容读入json对象,然后解析出来..
<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>
很简单,它完全符合我的目的。
答案 11 :(得分:0)
此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 Class For Getting URL Shares On Facebook, Twitter And LinkedIn