2015-04-08 - Publicar en Linkedin las entradas de este sitio usando Python

Seguimos tratando de difundir el contenido de este sitio en diferentes redes sociales. Me da la impresión de que Google no presta demasiada atención a estos blogs (tampoco estoy muy seguro de que nadie fuera a buscar esto, en cualquier caso) pero sí que creo que se les puede dar (algo de) visibilidad en diferentes redes sociales.

Ya hicimos el acercamiento a Twitter (Publicar en Twitter las entradas de este sitio usando Python) y Facebook (Publicar en Facebook las entradas de este sitio usando Python).

Enlaces en Página de Facebook

Suelo compartir en Linkedin (y en los otros sitios) entradas de mi bitácora de enlaces, Notas Rápidas. Normalmente se trata de información que voy viendo por ahí; muchas veces la pongo incluso antes de leerla. De vez en cuando, alguien comenta, re-comparte… Pensé que también tendría sentido publicar allí lo que voy poniendo en mis blogs.

LinkedIn utiliza Oauth para la autentificación. En la sección de desarrolladores explican estas cosas y en Share on Linkedin explican la parte de publicar allí. En Authenticating with OAuth 2.0 nos indican qué cosas hay que configurar: dar de alta la aplicación en nuestro espacio de trabajo, lo que generará las correspondientes “API Key” y “Secret Key” y también los tokens “OAuth 1.0a User Token” y “OAuth 1.0a User Secret” que podremos incluir en nuestro programa (esto es, por ahora no necesitamos utilizar los tokens de la versión 2 de OAuth). También podríamos pasar por el proceso de autorización con el programita (que es algo que no he hecho) o bien utilizar las herramientas que nos proporcionan otros.

Una búsqueda rápida de algún módulo para interactuar con LinkedIn en Python nos conduce a python-linkedin.

Con este módulo todo se parece a los programas que hemos hecho en otras ocasiones (y me saltaré los detalles aquí). Se puede ver el código en su versión actual en rssToLinkedin.py.

  • Se leen los blogs que estén configurados (igual que otras veces) y se selecciona uno para publicar.
  • Se obtiene el título, el contenido y el enlace de la última entrada.

Una nota para el contenido: LinkedIn tiene límites sobre lo que se puede poner (actualmente 700 caracteres), así que hay que tener cuidado. Reservamos 7 caracteres para indicar que el texto sólo es un resumen.

print theSummary.encode('utf-8')[0:693].rsplit(' ', 1)[0]+" [...]"
  • Luego se busca una imagen y se incluye si la hay.

A partir de aquí comienza el proceso de autentificación:

authentication = linkedin.LinkedInDeveloperAuthentication(
			config.get("Linkedin", "CONSUMER_KEY"),
			config.get("Linkedin", "CONSUMER_SECRET"),
			config.get("Linkedin", "USER_TOKEN"),
			config.get("Linkedin", "USER_SECRET"),
			config.get("Linkedin", "RETURN_URL"),
			linkedin.PERMISSIONS.enums.values())

Seguidamente ponemos un texto (en mi caso ‘Publicado’) a modo de introducción y luego publicaremos el resto:

comment='Publicado!'

application.submit_share(comment, theTitle, theSummary, theLink, imageLink)

Con el trabajo desarrollado para los programas anteriores lo que hay que hacer aquí es simplemente utilizar el método adecuados para publicar.

Siguientes pasos: tengo tres programas para publicar en diferentes redes sociales y me pregunto si debería unificarlos para utilizar las partes comunes (esencialmente selección del blog porque el resto tiene pequeñas diferencias), o pensar en una mejor organización.

Pero esto será algo para pensar más adelante.

Escrito el 2015-04-08
Categorías: programación
Tags: programación desarrollolinkedin rss redes sociales difusión python api