推特链接、脸书喜欢和谷歌+;1使用Jquery和AJAX
我正试图通过jquery.getJSON请求了解twitter、facebook和google的数量,从伟大的网站开始,了解如何使用C#和PHP 事实上twitter和facebook都能正常工作,但谷歌却不能。。。json响应是:推特链接、脸书喜欢和谷歌+;1使用Jquery和AJAX,jquery,ajax,Jquery,Ajax,我正试图通过jquery.getJSON请求了解twitter、facebook和google的数量,从伟大的网站开始,了解如何使用C#和PHP 事实上twitter和facebook都能正常工作,但谷歌却不能。。。json响应是: { "error": { "code": 400, "message": "Required value: id", "data": [ { "domain": "global", "reason": "required",
{
"error": {
"code": 400,
"message": "Required value: id",
"data": [
{
"domain": "global",
"reason": "required",
"message": "Required value: id"
}
]
},
"id": "p"
}
代码如下:
<script type="text/javascript">
function getfbcount(url){
var fblikes;
$.getJSON('http://graph.facebook.com/?ids=' + url, function(data){;
fblikes = data[url].shares;
$('body').append('fb likes ' + fblikes);
});
}
function gettwcount(url){
var tweets;
$.getJSON('http://urls.api.twitter.com/1/urls/count.json?url=' + url + '&callback=?', function(data){
tweets = data.count;
$('body').append('tweets ' + tweets);
});
}
function getplusone(url){
var plusones;
$.getJSON('https://clients6.google.com/rpc?key=AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ' + 'callback=?',
{
"method":"pos.plusones.get",
"id":"p",
"params":{
"nolog":true,
"id":url,
"source":"widget",
"userId":"@viewer",
"groupId":"@self"
},
"jsonrpc":"2.0",
"key":"p",
"apiVersion":"v1"
},
function(data){
plusones = data.count;
$('body').append('+1 ' + plusones);
});
}
$(document).ready(function($){
var url = "http://www.google.com"
getfbcount(url);
gettwcount(url);
getplusone(url);
});
</script>
函数getfbcount(url){
var-fblike;
$.getJSON('http://graph.facebook.com/?ids='+url,函数(数据){;
fblikes=数据[url]。共享;
$('body').append('fb likes'+fb likes);
});
}
函数gettwcount(url){
var推特;
$.getJSON('http://urls.api.twitter.com/1/urls/count.json?url=“+url+”&回调=?”,函数(数据){
tweets=data.count;
$('body').append('tweets'+tweets);
});
}
函数getplusone(url){
var冥王星;
$.getJSON('https://clients6.google.com/rpc?key=AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ“+”回调=?”,
{
“方法”:“pos.plusones.get”,
“id”:“p”,
“参数”:{
“nolog”:没错,
“id”:url,
“源”:“小部件”,
“userId”:“@viewer”,
“groupId”:“@self”
},
“jsonrpc”:“2.0”,
“key”:“p”,
“apiVersion”:“v1”
},
函数(数据){
plusones=data.count;
$('body')。追加('1'+加号);
});
}
$(文档).ready(函数($){
变量url=”http://www.google.com"
getfbcount(url);
gettwcount(url);
getplusone(url);
});
您不能向clients6.google.com服务器发出跨域请求。如果省略此部分,您可以在浏览器控制台中看到:
+ 'callback=?'
twitter和facebook允许这些请求…在“回调”之前是否只需要一个“&”?目前,您似乎正在将其粘贴到密钥的末尾。到目前为止,从客户端站点获取g+计数是不可能的。您必须从服务器端执行此操作。下面是用于此目的的ruby代码。下面的代码将Google Plus页面计数作为json对象返回
def get_gplus_count
google_api_url = 'https://plusone.google.com/_/+1/fastbutton?url='
page_url = 'http://www.linkOfThePageWhoseGPlusCountYouWant.net'
g_count_div = '#aggregateCount'
g_plus_count = "-1"
begin
content = Nokogiri::HTML(open( google_api_url + page_url).read)
g_plus_count = content.css(g_count_div).text
rescue => e
end
render :json => { :g_plus_count => g_plus_count }
end
首先,您必须创建页面的用户名(请参见“页面名称@用户名”下的内容。只需单击它…) 然后转到并获取访问令牌密钥 然后写下这样的脚本
function facebookLikesCount(access_token, pageusername)
{
var url = "https://graph.facebook.com/"+pageusername+"?fields=likes&access_token="+access_token+"";
$.getJSON(url,function(json){
alert(json.likes);
});
}
facebookLikesCount('your accesstoken', 'pageusername');
这是我的工作。
我从不使用g+和twitter您在某个地方传递了无效参数。仔细检查google+API的一些示例,确保格式正确