Подтвердить что ты не робот

Как получить счетчик кнопки google plus +1?

Я добавил кнопку google +1 на веб-сайт, но я хочу получить ее счетчик, чтобы я мог сделать математику. можно ли ввести iframe, созданный стандартным методом создания кнопки +1, или мне нужно сделать некоторую настройку?

<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<g:plusone></g:plusone>

Я пробовал эту ссылку: 1, но это не очень точно

4b9b3361

Ответ 1

Если вы можете получить доступ к curl/file_get_contents/readfile/wget или каким-то образом получить внешний URL, это довольно просто.

Загрузите следующий URL: https://plusone.google.com/_/+1/fastbutton?url=URLENCODED_URI (ОБНОВЛЕНО URL, см. примечание ниже *)

URLENCODED_URI - это сайт, на котором вы хотите узнать число +1 для, например. http://www.google.com (http% 3A% 2F% 2Fwww.google.com)

Например, введите URI https://plusone.google.com/_/+1/fastbutton?url=http://www.google.com/ (ОБНОВЛЕНО URI) и найдите первое событие window.__SSR = {'c': 32414.0 ,'si'. Предпочтительно использовать regexp для этого, но я оставлю реализацию вам и выбранному языку программирования (стороне сервера или стороне клиента).

Число с плавающей точкой, следующее за 'c', - это число +1, которое имеет сайт. Для google.com это 32 414. Не беспокойтесь о поплавке, вы можете безопасно преобразовать его в целое число.

* UPDATE: URL-адрес обновлен, так как старый URL-адрес начал работать до 404. Помните, что это ожидается, поскольку это неофициальный метод. Официального метода пока нет.

Ответ 2

Можно ли использовать функцию обратного вызова для захвата значения div, которое отображает счет?

function count() {
    var count = $('#aggregateCount').html();
}

    <g:plusone callback="count()"></g:plusone>

Я основываю это на кнопке аннотации пузыря, я его не тестировал, но что-то вроде этого должно работать.

Ответ 3

Чистое клиентское решение, которое работает для меня, чтобы получить счетчик Google Plus, выглядит следующим образом. Ему не нужен ключ API.

var url = "http://www.yoursite-to-be-counted.com";
var data = {
    "method":"pos.plusones.get",
    "id": url,
    "params":{
        "nolog":true,
        "id": url,
        "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){
      setCount($(".google-plus-count"), r.result.metadata.globalCounts.count);
    }
  });

  var setCount = function($item, count) {
    if (count) {
      $item.text(count);
    }
  };

Тогда у меня есть html с

<div class="google-plus-count"></div>

Здесь вы найдете ответы на этот.