通过Jquery和AJAX获取Twitter链接,Facebook喜欢和Google +1的计数

ale*_*aru 5 ajax jquery

我试图从jelery.getJSON请求获取twitter,facebook和google的计数从John Dyer的伟大指南开始,关于如何使用C#和PHP

实际上Twitter和Facebook工作,但谷歌没有...... json的回应是:

{
  "error": {
  "code": 400,
  "message": "Required value: id",
  "data": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Required value: id"
   }
  ]
 },
 "id": "p"
}
Run Code Online (Sandbox Code Playgroud)

这是代码:

<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>
Run Code Online (Sandbox Code Playgroud)

eik*_*kes 3

您无法向clients6.google.com 服务器发出跨域请求。如果省略这部分,您可以在浏览器控制台中看到这一点:

+ 'callback=?'
Run Code Online (Sandbox Code Playgroud)

Twitter 和 Facebook 允许这些请求...