javascript - one - ¿Cómo obtengo el contador de un botón+1 de Google Plus?
google+ web (3)
He agregado un botón de google +1 a un sitio web, pero quiero obtener su contador para poder hacer algunos cálculos sobre él. ¿es posible ingresar el iframe creado por el método estándar de creación del botón +1 o necesito realizar algún ajuste?
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<g:plusone></g:plusone>
He intentado este enlace: 1 , pero esto no es muy preciso
¿Podría usar una función de devolución de llamada para tomar el valor del div que muestra el conteo?
function count() {
var count = $(''#aggregateCount'').html();
}
<g:plusone callback="count()"></g:plusone>
Estoy basando esto en el botón de anotación de burbuja , no lo he probado, pero algo como esto debería funcionar.
Si puede acceder a curl / file_get_contents / readfile / wget o alguna forma de obtener una URL externa, esto es bastante simple.
Cargue la siguiente URL: https://plusone.google.com/_/+1/fastbutton?url=URLENCODED_URI
( URL ACTUALIZADA, vea la nota a continuación * )
URLENCODED_URI es el sitio para el que desea conocer el número de + 1, por ejemplo, http://www.google.com (http% 3A% 2F% 2Fwww.google.com)
Por ejemplo, obtenga el URI https://plusone.google.com/_/+1/fastbutton?url=http://www.google.com/
( URI ACTUALIZADO ) y localice la primera aparición de la window.__SSR = {''c'': 32414.0 ,''si''
. Preferiblemente use regexp para esto, pero le dejaré la implementación a usted y al lenguaje de programación elegido (del lado del servidor o del lado del cliente).
El número flotante que sigue a ''c''
es el número de + 1 que tiene el sitio. Para google.com esto es 32,414. No te preocupes por el flotador, puedes convertirlo de forma segura en un entero.
* ACTUALIZACIÓN: La URL se actualizó cuando la antigua URL comenzó a 404. Recuerde, esto se espera ya que este es un método no oficial. No existe un método oficial (todavía).
Una solución de cliente puro que me funciona para obtener el contador de Google Plus es la siguiente. No necesita una clave 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);
}
};
Entonces tengo algo de html con
<div class="google-plus-count"></div>
Los créditos aquí van a this respuesta.