我在网站上添加了一个 google +1 按钮,但我想得到它的计数器,这样我就可以对其进行一些数学运算。是否可以输入通过创建 +1 按钮的标准方法创建的 iframe,还是需要进行一些调整?
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<g:plusone></g:plusone>
我试过这个链接:1,但这不是很准确
我在网站上添加了一个 google +1 按钮,但我想得到它的计数器,这样我就可以对其进行一些数学运算。是否可以输入通过创建 +1 按钮的标准方法创建的 iframe,还是需要进行一些调整?
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<g:plusone></g:plusone>
我试过这个链接:1,但这不是很准确
如果您可以访问 curl/file_get_contents/readfile/wget 或某种方式来获取外部 URL,这非常简单。
加载以下 URL:(https://plusone.google.com/_/+1/fastbutton?url=URLENCODED_URI
更新后的URL,请参见下面的注释 *)
URLENCODED_URI 是您希望知道 +1 数量的网站,例如http://www.google.com (http%3A%2F%2Fwww.google.com)
例如,获取 URI https://plusone.google.com/_/+1/fastbutton?url=http://www.google.com/
( UPDATED URI ) 并定位window.__SSR = {'c': 32414.0 ,'si'
. 最好为此使用正则表达式,但我会将实现留给您和您选择的编程语言(服务器端或客户端)。
后面的浮点数'c'
是该站点拥有的 +1 数。对于 google.com,这是 32,414。不用担心浮点数,您可以安全地将其转换为整数。
* 更新: URL 已更新为旧 URL 开始为 404。请记住,这是意料之中的,因为这是一种非官方的方法。没有官方方法(还)。
您可以使用回调函数来获取显示计数的 div 的值吗?
function count() {
var count = $('#aggregateCount').html();
}
<g:plusone callback="count()"></g:plusone>
我基于气泡注释按钮,我还没有测试过,但是这样的东西应该可以工作。
一个纯客户端解决方案对我来说可以获取 Google Plus 计数器如下。它不需要 API 密钥。
var url = "http://www.yoursite-to-be-counted.com";
var data = {
"method":"pos.plusones.get",
"id": url,
"params":{
"nolog":true,
"id": url,
"source":"widget",
"userId":"@viewer",
"groupId":"@self"
},
"jsonrpc":"2.0",
"key":"p",
"apiVersion":"v1"
};
$.ajax({
type: "POST",
url: "https://clients6.google.com/rpc",
processData: true,
contentType: 'application/json',
data: JSON.stringify(data),
success: function(r){
setCount($(".google-plus-count"), r.result.metadata.globalCounts.count);
}
});
var setCount = function($item, count) {
if (count) {
$item.text(count);
}
};
然后我有一些html
<div class="google-plus-count"></div>
这里的学分归于这个答案。