【问题标题】:Getting google plus shares count with jquery使用 jquery 获取 google plus 共享计数
【发布时间】:2013-12-12 13:09:27
【问题描述】:

我正在尝试使用 Jquery 获取 URL 的 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区有没有什么特别需要配置的。我是新手。请帮帮我。

谢谢。

【问题讨论】:

  • 您需要使用与号 (&) 将 API 密钥参数与回调参数分开。但是,这仍然不起作用,因为 G+ API 不接受 JSONP 并拒绝回调参数。

标签: jquery api google-plus


【解决方案1】:

做了一些工作,但这个解决方案成功了。 (在 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>

【讨论】:

    【解决方案2】:

    密钥"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);
        }
    );
    

    【讨论】:

      猜你喜欢
      • 2015-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-03
      • 1970-01-01
      相关资源
      最近更新 更多