Ruby on Rails y Picasa

Durante el desarrollo de mi PFC, necesité integrar imágenes procedentes de Flickr y/o Picasa en mi aplicación web basada en Ruby on Rails. Con Flickr no hallé ningún problema, ya que existen varios tutoriales relacionados con mi cometido, no así con Picasa, del que no topé nada. De ahí surge este pequeño tutorial, con los pasos necesarios para incorporar imágenes de Picasa en nuestro propio sitio web basado en Ruby on Rails.

En primer lugar descargamos el plugin necesario de aquí y lo descomprimimos en la carpeta plugins de nuestra aplicación.

A continuación, en el fichero environment.rb indicamos que necesitamos la librería picasa, mediante require ‘picasa’

El siguiente paso es escribir en el controlador el código necesario para recoger las imágenes de Picasa en un array que denominaremos @photos:

class PhotographyController < ApplicationController

def index
picasa = Picasa::Picasa.new
picasa.login("AQUÍ USUARIO", "AQUÍ CONTRASEÑA")
picasa.picasa_session.auth_key
@photos = picasa.photos(:album => "AQUÍ NOMBRE DEL ÁLBUM", :user_id => "AQUÍ USUARIO DEL ÁLBUM")
end

end

Finalmente en la vistas, concretamente en el archivo index.html.erb situamos un bucle para que recorra el array @photos y  muestre las imágenes una a una:

<% for photo in @photos %>
<img src="<%=photo.url %>"/>
<% end %>

Arrancamos el servidor, y ya tenemos en: http://localhost:3000/photography la colección de imágenes procedentes de Picasa.

Tutoriales para Flickr: Max S. Dunn, digital:pardoe

6 responses to this post.

  1. Posted by jorge on 2 abril, 2010 at 19:35

    Hola, queria saber si esto ha funcionado bien, porque no me esta trayendo ninguna foto, y no se si es problema de los parametros… cual es el user_id?
    Creo que el resto lo tengo bien, no me da error, pero el array viene vacio.
    Otra pregunta… como podria insertar las fotos en el layout de otro controlador?.

    Gracias!

    Responder

    • Hola jorge,

      Si, el ejemplo que muestro funciona correctamente. Probablemente, y como indicas el problema resida en el valor que le otorgas a los parámetros… el user_id es el usuario del propietario del álbum. Por ejemplo, en este álbum: http://picasaweb.google.com/cokanan/ViajeAsturiasGalicia el user_id sería cokanan.

      Respecto a la última pregunta, no he tenido ocasión de implementar dicha funcionalidad, aunque supongo que llamando desde dicho controlador, mediante el uso de require , al controlador que recoge las imágenes podría funcionar.

      Un saludo.

      Responder

  2. Posted by Gus Ortiz on 18 diciembre, 2010 at 21:32

    A mi me da una exepción. REXML::UndefinedNamespaceException: Undefined prefix gphoto found

    Responder

  3. Posted by Albert on 4 julio, 2011 at 19:02

    Hola, estoy haciendo una web donde uso Ruby on Rails, y el hosting en Heroku, necesito almacenar fotos (Y heroku es “readonly filesystem”), así que he optado por picasa, el pluin que dices, contiene un ejemplo donde se ve claro y fácil de usar.

    -> solo me falta una cosa:

    Como hacer que al subir una foto:

    photo = picasa.post_photo(image_data, :album =>”AlbumdePicasa”,:title=>”A la playa “)

    la convierta automaticamente a un tamaño máximo, por ejemplo de 1600 de ancho, para no subier fotos de 4 MB o mas..

    Ésto lo hace la aplicacion “Picasa Web Album Uploader”, y por lo tanto supongo que se podrá hacer tambien por Api, ¿NO?

    seria una gran ventaja, ya que así me ahorro todo un trabajo de tratamiento de imagenes, ademas picasa, te incluye una opción para bajarte un thumbail, sin que lo guarde yo mismo en miweb.

    Muhas gracias

    Responder

    • Hola Albert,

      Solo trabajé la recepción de imágenes de Picasa con el plugin mencionado, desconozco las opciones de envío de éste.

      Un saludo.

      Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s