Sincronizar Google Photos desde la Raspberry

Sincronizar Google Photos desde la Raspberry

Hasta ahora había sincronizado mi galería de Google Fotos con el NAS desde el pc de sobremesa con Linux Mint, voy a intentar hacerlo desde la Raspberry para no tener que encender el pc.

Para la sincronización de una carpeta local con mi contenido de Google Photos voy a utilizar el paquete pip gphotos-sync y estos son los paso que he seguido hasta hacer la sincronización.

  • Instalamos el gestor de paquetes pip en python 3
  • Actualizamos (Si es necesario)
  • Instalamos la funcion de entornos virtuales
  • Creamos el directorio “gphotos-sync” y nos ubicamos en el
  • Instalamos el paquete pip gphotos-sync y el entorno virtual (Creo que con lo segundo valdría)
sudo apt-get install python3-pip
/usr/bin/python3 -m pip install --upgrade pip
pip3 install --user pipenv 
mkdir gphotos-sync 
cd gphotos-sync
pip3 install --user pipenv ghotos-sync 
pip install gphotos-sync
pipenv install gphotos-sync

Con el paquete instalado, toca generar las credenciales Oauth2 desde Google Cloud Platform

  • Creamos un nuevo proyecto y le ponemos un nombre (“Create Project”)
  • Accedemos a Photos Library API
  • Seleccionamos el proyecto que hemos creado en el desplegable superior
  • Habilitamos la API (Botón “Enable”)
  • Accedemos a Google Cloud Platform API con nuestro proyecto seleccionado
  • En la pestaña “OAuth consent screen” añadimos el nombre “gphotos-sync” a la aplicación
  • En la pestaña “Credentials” añadimos una nueva credencial del tipo “OAuth client ID”
  • Elegimos la opción “Desktop app” gphoto_client" y creamos la credencial
  • Descargamos la credencial creada y la renombramos como “client_secret.json”
  • Copiamos el archivo a la carpeta “.config/gphotos-sync” del usuario que la vaya a ejecutar

Este proceso está descrito en Gphotos-sync OAuth Creation

LLegados a esta punto ya sólo resta ejecutar el comando en el entorno virtual para que todas las fotos sean descargadas al directorio de destino

pipenv run gphotos-sync directorio_destino

En mi caso, aunque el trabajo lo realiza la raspberry, las fotos quedan almacenadas en una carpeta del NAS que ha sido montada mediante sshfs y llave público/privada gracias a un script que se ejecuta diariamente mediante cron.

Tras unos días funcionando correctamente me ha aparecido un fallo en el montaje de la unidad de mota del NAS “read: Connection reset by peer” que he conseguido reparar habilitando nuevamente la conexión sftp del NAS

Con esto ya tenemos sincronizada nuestra galería de Google Photos en nuestro NAS. Seguro que esto es capaz de hacerlo el NAS sin ayuda de la Raspberry, pero esto será para otro día…