Conocer los +1 de Google de tus posts de WordPress

Ahora que Google ha sacado el botón +1, puede ser interesante saber que puntuación llevan nuestros posts en Google. Una forma rápida (y un tanto cutre) sería crear un fichero (por ejemplo en la raíz del blog que tenga el siguiente código:

get_results("SELECT * from $wpdb->posts where post_status = 'publish' order by ID desc limit 20");
?>

  
    +1 de Google de mis posts
    
  
  
$p) { $url = get_permalink($p->ID); ?>
  

Espero que os sea de ayuda

Acortar URLs mediante goo.gl y PHP

La API de Google para acortar URLs permite acortar URLs, recuperar info del link original y las URLs acortadas de un usuario, aunque para usarlo se necesita crear una clave y dar de alta proyecto.

El resto es fácil, acceso mediante CURL y listo:

    define('GOOGLE_API_KEY', '[insert your key here]');
    define('GOOGLE_ENDPOINT', 'https://www.googleapis.com/urlshortener/v1');
 
    function shortenUrl($longUrl)
    {
        // initialize the cURL connection
        $ch = curl_init(
            sprintf('%s/url?key=%s', GOOGLE_ENDPOINT, GOOGLE_API_KEY)
        );
 
        // tell cURL to return the data rather than outputting it
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
        // create the data to be encoded into JSON
        $requestData = array(
            'longUrl' => $longUrl
        );
 
        // change the request type to POST
        curl_setopt($ch, CURLOPT_POST, true);
 
        // set the form content type for JSON data
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
 
        // set the post body to encoded JSON data
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($requestData));
 
        // perform the request
        $result = curl_exec($ch);
        curl_close($ch);
 
        // decode and return the JSON response
        return json_decode($result, true);
    }
 
    $response = shortenUrl('http://phpriot.com');
 
    echo sprintf(
        '%s was shortened to %s',
        $response['longUrl'],
        $response['id']
    );

Shortening URLs for goo.gl with Google’s URL Shortener API

Vía / PHPDeveloper.org

Acceder a Google Analytics con OAuth y PHP

Está claro que por ahora OAuth es el futuro para el uso de APIs, y como no, Google requiere OAuth para conectarnos a su API, lo cual puede parecer bastante difícil, pero cuando le coges el truco, es bastante sencillo:

$oauth = new OAuth($consumer_key, $consumer_secret);
$oauth->setToken($access_token, $access_token_secret);
$result = $oauth->fetch('https://www.google.com/analytics/feeds/datasources/ga/accounts');

El resto es fácil, tan sólo hay que mirar la documentación y obtener los datos de las distintas peticiones.

Google Analytics Accounts API

|

El rendimiento de Google Instant Previews

Algunas veces no nos paramos a pensar en los cambios que añade una web, en este caso Google, los problemas que pueden aparecer en tema de rendimiento. Y estos problemas suelen ser fundamentales a la hora de la impresión que se lleva un usuario de la web, claro, que Google no se caracteriza por problemas de rendimiento y los expertos que están trabajando allá deben ser de lo mejorcito que existe.

Después de este rollo introductorio, me gustaría apuntar los 3 aspectos que utiliza Google para mejorar el rendimiento que se centran sobre todo en la reducción del número de peticiones HTTP:

  • Compilación de Javascript: mediante Closure Compiler, consigue reducir el tamaño de los ficheros js, reutilizar variables, …
  • JSONP bajo demando: JSONP permite envolver la respuesta JSON con una llamada Javascript. Se realizan llamadas directas al script en vez de usar Ajax, lo cual permite hacer llamadas crossdomain y que el navegador lo cachee perfectamente. El problema es que si se añade la llamada con un createElement, el navegador se queda cargando, por lo que es mejor meterlo entre un setTimeout.
  • DATA URIs: es un método de añadir contenido en URLs usando base64, el problema es que IE8 sólo admite DATA URIs de 32k, por lo que dividen las imagenes en trozos y los “empalman” con etiquetas IMG. También han comprobado que aunque base64 añade hasta un 33% del tamaño, como lo devuelven en gzip, el tamaño final es más o menos el mismo.

Está claro que hay que aprender de los que saben.

Instant Previews: Under the hood

Vía / High Scalability

Guía de estilos de Javascript de Google

Google tiene una guía de estilos para programar en Javascript. Yo no soy muy partidario de ello, ya que cada cual programe como quiera siempre que sea código legible, es decir, ¿por qué usar variables con nombres así: nombreVariable y no así: nombre_variable?. Está claro que en un proyecto o una empresa sí tiene sentido usar guías de estilo, pero que una guía de estilo sea generalizada, no le veo sentido.

De todas formas los consejos están bastante bien y ante la duda de cómo hacerlo, podemos echarle un vistazo a cómo lo hacen en Google. Claro, que luego lo ofuscan y no hay quién entienda sus librerías.

Google JavaScript Style Guide

Vía / DZone

Clase para usar Google Translate desde PHP

La verdad es que tiro de vez en cuando Google Translate, pero sobre todo para temas personales, para alguna aplicación web no creo que sea muy útil, entre otras cosas porque a veces las traducciones en algunos casos son un poco raras, pero nunca vienen mal tener esta librería para realizar traducciones.

El uso es muy sencillo:

require_once('googleTranslate.class.php');
$gt = new GoogleTranslateWrapper();
/* Traduce una pagina web */
$page_contents = file_get_contents('http://some-web-page/');
/* Traduce al frances */
echo $gt->translate(page_contents , "fr", "en");
/* Si hay error lo muestra */
if(!$gt->isSuccess()) {
    echo $gt->getLastError();
}

Google Translation PHP wrapper

Vía / PHPDeveloper.org

Actualización: me avisa Javier Martín que él ha implementado una librería parecida que añade algunas características interesantes como independencia de CURL.

Traduce usando Google y PHP

Interesante librería que hace uso de Google Translator para traducir un texto en un idioma a otro. Aunque el API de Google está solo en Java o Javascript, el autor de la librería ha creado un wrapper para que esté disponible desde PHP.

require_once('googleTranslate.class.php');
 
/* Initialize the class translate class */
$gt = new GoogleTranslateWrapper();
$sampleText = "Bonjour de cette partie du monde";
 
/* translate(string, to_language, from_language) */
echo $gt->translate($sampleText , "en", "fr");

Google Translation PHP wrapper