使用jquery获取google plus shares

时间:2013-12-12 13:09:27

标签: jquery api google-plus

我正在尝试使用Jquery获取Google plus共享网址。

url = 'www.abc.com/';
$.getJSON('https://clients6.google.com/rpc?key=AIzaSyBeAeOUk3BJs9ZXeohJX6Qt2zWXPQsRKRk'+'callback=?',
    {
       "method":"pos.plusones.get",
       "id":"p",
       "params":{
          "nolog":true,
          "id":'http://prince-antil.myshopify.com/',
          "source":"widget",
          "userId":"@viewer",
          "groupId":"@self"
       },
       "jsonrpc":"2.0",
       "key":"p",
       "apiVersion":"v1",         
    },
    function(data){          
    plusones = data.count;
    alert(data);
 });

但我收到以下错误:

    {
 "error": {
  "code": 400,
  "message": "Bad Request",
  "data": [
   {
    "domain": "usageLimits",
    "reason": "keyInvalid",
    "message": "Bad Request"
   }
  ]
 },
 "id": "p"
}

我创建了一个API,但我不确定我创建它的方式。以上错误表示“无效密钥”。我已经交叉检查了密钥,但密钥是正确的。我不知道在APP领域是否有特殊需要配置。我是新的呃。请帮帮我。

感谢。

2 个答案:

答案 0 :(得分:5)

做了一些工作,但这个解决方案做到了。 (在Firefox和Chrome中测试)无需API密钥,无需进行任何更改。 :) 不要忘记包含您的jQuery文件。

$(window).load(function(){
    /* Social Share: Google Plus JSON */
        var data = {
            "method":"pos.plusones.get",
            "id":"http://www.website_you_want_share_count_for.com",
            "params":{
                "nolog":true,
                "id":"http://www.website_you_want_share_count_for.com",
                "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){
                $('#googleplus_page_share_count').text(format(r.result.metadata.globalCounts.count));
            }

        });
});

<p><span id="googleplus_page_share_count">256</span> Shares.</p>

答案 1 :(得分:1)

"p"肯定不正确。

你在URL中给出了一个更真实的键,但用这个虚拟键覆盖了它。

将其放入数据数组中:

$.getJSON('https://clients6.google.com/rpc?callback=?',
    {
       "method":"pos.plusones.get",
       "id":"p",
       "params":{
          "nolog":true,
          "id":'http://prince-antil.myshopify.com/',
          "source":"widget",
          "userId":"@viewer",
          "groupId":"@self"
       },
       "jsonrpc":"2.0",
       "key":"AIzaSyBeAeOUk3BJs9ZXeohJX6Qt2zWXPQsRKRk",
       "apiVersion":"v1",         
    },
    function(data){          
       plusones = data.count;
       alert(data);
    }
);