努力寻找通过jQuery获取 Google Plus +1页面的解决方案 - 来自Google隐藏的api的Ajax:https://clients6.google.com/rpc
此问题也在以下网址进行了讨论:Stackoverflow link
我的尝试:
$.ajax({
cache: false,
type: "POST",
url: "https://clients6.google.com/rpc",
data: [{
"method":"pos.plusones.get",
"id":"p",
"params":{
"nolog":true,
"id":"http://www.apple.com",
//"id":"http%3A%2F%2Fwww.apple.com",
"source":"widget",
"userId":"@viewer",
"groupId":"@self"
},
"jsonrpc":"2.0",
"key":"p",
"apiVersion":"v1"
}],
crossDomain: true,
jsonp: true,
timeout: 5000,
dataType: "jsonp",
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data);
},
always: function(data){
console.log(data);
}
});
结果为chrome:Uncaught SyntaxError:意外的标记:
在Firefox中: SyntaxError:missing;在陈述之前
{“error”:{“code”: - 32700,“message”:“Parse Error”,“data”:[{“domain”:“g
有任何想法如何解决这个问题?
答案 0 :(得分:5)
您可以使用google plus javascript库来获取共享计数:
包括以下内容:
<script src="https://apis.google.com/js/plusone.js"></script>
<script src="https://apis.google.com/js/client:plusone.js"></script>
然后做:
var params = {
nolog: true,
id: "http://www.google.com/",
source: "widget",
userId: "@viewer",
groupId: "@self"
};
gapi.client.setApiKey('AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ')
gapi.client.rpcRequest('pos.plusones.get', 'v1', params).execute(function(resp) {
console.log('count:', resp.result.metadata.globalCounts.count)
});
不要用自己的apikey替换apikey。如果你这样做将无法正常工作。
答案 1 :(得分:2)
您应该使用官方API for Google+获取+1点数。 API资源管理器中的以下示例显示了API调用和响应数据:
如何使用API客户端库的简短演示:
1)同步包含Google+客户端/ Google API客户端库
<script type="text/javascript">
(function() {
var po = document.createElement('script');
po.type = 'text/javascript'; po.async = true;
po.src = 'https://plus.google.com/js/client:plusone.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
})();
</script>
当客户端加载时,使用Google APIs console:
中的密钥设置API密钥gapi.client.setApiKey('YOUR_API_KEY')
接下来,加载回调并在加载客户端后发出API调用。
<script>
gapi.client.load('plus', 'v1',
function(){
gapi.client.plus.people.get(
{userId: '+GooglePlusDevelopers'}
).execute( function(resp){ console.log(resp); }
);
});
</script>
这将返回包含+1计数的JSON数据,例如:
gapi.client.load('plus', 'v1',
function(){
gapi.client.plus.people.get(
{userId: '+GooglePlusDevelopers'}
).execute( function(resp){ console.log(resp.plusOneCount); }
);
});
将返回225588,页面的计数为+ 1。