我查看了API文档,但未找到相关内容。获取该数字将有助于了解URL的受欢迎程度。如果您需要示例, Engadget在文章中使用Twitter共享按钮。 我正在尝试通过JavaScript实现此目标。 感谢您的任何帮助。
我查看了API文档,但未找到相关内容。获取该数字将有助于了解URL的受欢迎程度。如果您需要示例, Engadget在文章中使用Twitter共享按钮。 我正在尝试通过JavaScript实现此目标。 感谢您的任何帮助。
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\/"}
jQuery.getJSON
)。否则,请附加callback=?
来发出JSONP请求:
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日,获取Twitter分享计数的方法已不再适用。更多信息请阅读:https://blog.twitter.com/2015/hard-decisions-for-a-sustainable-platform
http://cdn.api.twitter.com/
和http://urls.api.twitter.com/
都不是官方公开或文档化的,但它们是相同的,并且可以正常工作。现在有一个新的端点是官方小部件正在使用,我在下面发布了它,只是为了分享。 - mcont从今天开始,这已经不再可能了,您可以在此处阅读更多信息:
https://twitter.com/twitterdev/status/667836799897591808
很遗憾,没有重新实现的计划。
点赞,以便用户不会浪费时间尝试。
更新: 不过,可以通过http://opensharecount.com 实现,他们提供了旧的私有JSON URL的替代方案,基于通过API进行的搜索(因此您不需要做所有这些工作)。
它基于REST API搜索端点。 这仍然是一个新系统,因此我们应该看看它的表现。将来我们可以期待更多类似的系统,因为有很大的需求。
这是针对使用https协议的url(针对Brodie)
https://cdn.api.twitter.com/1/urls/count.json?url=YOUR_URLhttps://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的分享数量。
更新: 自2015年11月21日起,Twitter已删除“Tweet count endpoint”API。
了解更多:https://twitter.com/twitterdev/status/667836799897591808
不。
如何访问计数API以查找我的URL有多少条推文?
在Tweet按钮的早期阶段,计数API是私有的。这意味着您需要使用我们的javascript或iframe Tweet按钮才能呈现计数。随着我们系统的扩展,我们将考虑使计数API公开供开发人员使用。
http://dev.twitter.com/pages/tweet_button_faq#custom-shortener-count
被认可的回复是正确的。Twitter内部使用同一端点的其他版本。
例如,官方带计数的分享按钮使用此版本:
https://cdn.syndication.twitter.com/widgets/tweetbutton/count.json?url=[URL]
JSONP支持已经添加,可以通过添加&callback=func
来使用。
ajax
调用中的URL http://cdn.api.twitter.com/1/urls/count.json?url=http://stackoverflow.com
无法正常工作。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
很重要,因为在GET
请求中传递url
会引起问题。
希望对您有所帮助。
向以下一个url之一发出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
的计数。 将无法工作。
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);
干杯!
这条评论https://stackoverflow.com/a/8641185/1118419建议使用Topsy API。我不确定该API是否正确:
www.e-conomic.dk的Twitter响应:
http://urls.api.twitter.com/1/urls/count.json?url=http://www.e-conomic.dk
显示10个计数
Topsy回应来自www.e-conomic.dk:
http://otter.topsy.com/stats.json?url=http://www.e-conomic.dk
18计数