Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
推特链接、脸书喜欢和谷歌+;1使用Jquery和AJAX_Jquery_Ajax - Fatal编程技术网

推特链接、脸书喜欢和谷歌+;1使用Jquery和AJAX

推特链接、脸书喜欢和谷歌+;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",

我正试图通过jquery.getJSON请求了解twitter、facebook和google的数量,从伟大的网站开始,了解如何使用C#和PHP

事实上twitter和facebook都能正常工作,但谷歌却不能。。。json响应是:

{
  "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的一些示例,确保格式正确