FlickrBadge


No, Flickr Badge no es un insulto, aunque lo pueda parecer… Es la forma que tiene Flickr de llamar a una de sus utilidades, que permite poner en otra página cualquiera algunas fotos seleccionadas de tu colección.

Aún estoy a tiempo. Aviso: Este es un post más de esos aburridillos si no le vas a sacar utilidad. Con lo cual, si no tienes o pretendes tener cuenta en flickr, y no tienes la menor intención de pelearte con pehachepés y javascriptses, casi que no sigas leyendo.

Hace unos dias decidí pagar por usar el servicio «pro» de esta gente, unos 30 euros anuales, porque llevaba un tiempo usando el gratuito y me gusta. Y ya que paga uno, pues había que sacarle partido.

Así que coloqué uno de esos «badge» aquí arriba a la izquierda, para mostrar una fotillo aleatoria de las que tengo por allí colgadas. Y bueno, más o menos quedó bonito, pero algo no me cuadraba: la foto aleatoria tenía que ser de cualquiera de las que tengo, sin poder decidir sobre ella de ninguna forma, sin poder limitarlas a un «set», o por etiquetas, o algo.

De modo que me pongo a leer sobre el tema, y veo que es una funcionalidad que está por implementarse. Vale, ¿pero y ahora mismo? Flickr tiene una API con la que se puede hacer esto y más,.. pero no me atrevía yo con tanto (de momento). Pero como también tiene un feed RSS, que me parecía más asequible para un profano en todo esto como yo, tiro por ahí…

Pues sigo leyendo y veo que alguien ya ha pensado en esto. He descargado su programita, y tenía buena pinta… Solo había que hacer que funcionara (una expresión regular que no terminaba de funcionar), y modificarlo un poco.

Así lo he hecho (te lo puedes descargar y seguir modificando sobre lo que yo he hecho aquí mismo). Está aún lleno de comentarios mios con cosillas a medio depurar, pero puede ser un comienzo (si llegas a algo más aceptable que lo guarrería que he montado, sería un detalle que lo pusieras al público).

Resumiendo: en este momento la foto de arriba a la izquierda es servida por este programita, getflickr.php, y admite estos parámetros en su llamada:

id=(nsiddeflickr): es un número único que identifica a un usaurio de flickr. Puedes conseguirlo en el código generado por el propio Flickr Badge. Si existe, limita las fotos que recoge a ese usuario.

tag=(tags,separados,por,comas): solo se tratarán las fotos que contengan cualquiera de esas tags

num=(numero): Devuelve ese número de últimas imágenes (hasta un máximo de 10, de momento, por limitaciones del feed). Opcional, por defecto=1.

size=s: si está presente, el tamaño de las fotos es «pequeño». Si no, «mediano».

mode=random: si está presente, devuelve una sola imagen aleatoria (pasandose por el forro el parámetro num). Solo entre las diez ultimas (según el criterio tag/id, no las diez ultimas añadidas).

debug=1: si está presente escribe las etiquetas img a la salida directamente (si no lo está, en modo «normal», se escriben mediante javascript para ser llamadas desde un script).

Un ejemplillo, si copiaras este código en tu página verías una foto aleatoria de las 10 últimas que se hayan añadido con el tag «granada»:

<script language=’JavaScript’ type=»text/javascript» src= ‘http://arkangel.info/flickr/ getflickr.php? mode=random &tag=granada’> </script>

Si pinchas aquí verás esto mismo en modo=debug

O las 10 ultimas con el mismo tag, en pequeñito.

Por cierto, las etiquetas img tienen un class=»flickrimg», para poder aplicarle el estilo que quieras.

De momento tengo el programilla «abierto» en mi servidor, para que se pueda probar y eso, pero tendré que cerrarlo dentro de poco, apra que solo se pueda usar desde págians de este mismo servidor (por cuestiones de ancho de banda). Lo observaré, a ver…

Le habló un arkángel enrollandose demasiado.


2 respuestas a “FlickrBadge”

  1. ¡Gracias! Me inspiré en el tuyo para lo del CSS, pero el tamaño es fijo en ancho, para poder poner las fotillos más grandes que las «square»,… Redimensiono «hacia abajo» en navegador, en algunas se ve un poco de pixelado por eso… Lo mismo ya que he modificado el getflickr este hago un cambio del tamaño de la imagen con gd, ya puestos, para que quede más mejor.