error de sincronización de grive, posiblemente cambio de API de Google


19

Tengo problemas para sincronizar con mi cuenta de Google Drive debido a que Grive se ejecuta en Ubuntu 14.04. Nunca he tenido problemas anteriormente. Intenté purgar la unidad de mi sistema y eliminar todas las carpetas locales, pero aún así aparece cuando intento ejecutar grive después de la reinstalación.

user@user-OptiPlex-780:~/drive$ grive
grive: Symbol `json_tokener_errors' has different size in shared  object, consider re-linking
Reading local directories
Synchronizing folders
exception: /build/buildd/grive-0.2.0/libgrive/src/http/CurlAgent.cc(149): Throw in function long int    gr::http::CurlAgent::ExecCurl(const string&, gr::http::Receivable*, const   gr::http::Header&)
Dynamic exception type:boost::exception_detail::clone_impl<gr::http::Error>
std::exception::what: std::exception
[gr::expt::MsgTag*] = 
[gr::http::CurlCodeTag*] = 0
[gr::http::HttpResponseTag*] = 400
[gr::http::UrlTag*] = https://docs.google.com/feeds/default/private/full/-/folder?max-results=50&showroot=true
[gr::http::HeaderTag*] = Authorization: Bearer ya29.WwFOho3OkmkxFIdn86HBbtpSIyBYDzDgQua1K6JcEu7kCBLgvY1aEiUHCZlSCuli_qPHkTfNZLhDfQ
GData-Version: 3.0

Aquí hay un enlace a una página de desarrolladores de Google que sugiere que la API ha cambiado el enlace de hoy . podría ser un problema?

Respuestas:


18

Sí, Grive está utilizando la API de la Lista de documentos desaparecida. A partir de las 9 a.m. PST, dejamos de atender estas solicitudes de API. Esta es la razón por la cual el cliente Grive está recibiendo respuestas de '400 Solicitudes incorrectas'.

Al observar el proyecto , parece que no se ha mantenido durante casi un año y definitivamente no se ha actualizado ( aquí y aquí ) a la nueva API que se lanzó en 2012 cuando la Lista de documentos quedó oficialmente en desuso.


¿Alguna sugerencia sobre cómo hacer que Google Drive se sincronice con Ubuntu 14.04 ahora que grive está fuera de la imagen? He encontrado 2 alternativas, Insync y jdrivesync pero insync es de pago, y jdrivesync parece estar fuertemente en beta. ¿Eché de menos a otros?
LeoAnth


Es posible que sea posible usar el cliente oficial de windowz bajo wine (aunque es bastante molesto bajo windows)
Wilf

1
Estoy dando una oportunidad al cliente Insync, y está funcionando perfectamente y, aunque está pagado, es un pago único y muy razonable.
LeoAnth

9

Una buena alternativa podría ser la unidad que está escrita goy tiene muchas características.

Para instalar siga estas instrucciones:

  1. Instalar paquetes necesarios

    sudo apt-get install golang git mercurial
    
  2. Cree una ruta para gopaquetes en su directorio de inicio

    mkdir $HOME/go $HOME/go/bin
    
  3. Agregue estas rutas a las variables de entorno apropiadas editando el archivo .profileen su directorio de inicio. Entonces agregue estas líneas en y de ese archivo:

    if [ -d "$HOME/go" ] ; then
        export GOPATH="$HOME/go"
    fi
    
    if [ -d "$HOME/go/bin" ] ; then
        PATH="$HOME/go/bin:$PATH"
    fi
    
  4. Cierre sesión e inicie sesión para que los cambios surtan efecto.

  5. Descargue e instale drivedesde la última fuente

    go get -u github.com/odeke-em/drive/cmd/drive
    
  6. Lea https://github.com/odeke-em/drive/#usage

    Uso básico:

    • drive init <folder>se inicializa <folder>para sincronizar con tu Google Drive.
    • Si lo hace drive pullen su carpeta inicializada, descargará todos los cambios de Google Drive. Es posible que la primera vez tengas que hacer esto más veces para descargar todo.
    • drive push carga cambios locales.
    • drive pull <fileOrPath>o drive push <fileOrPath>realiza la acción correspondiente solo para <fileOrPath>.
    • Hay muchas más opciones para usar, así que lea el manual.

5

Se hizo un tenedor de molienda que funciona de nuevo (no por mí, solo lo encontré)

https://github.com/vitalif/grive2

Reemplazo fácil

mkdir grive 
cd grive/
git clone https://github.com/vitalif/grive2.git
cd grive2/
mkdir build 
cd build 
cmake ..
make -j4
sudo make install

Ahora grive funciona bien para mí.


3

Una solución similar a grive es jdrivesync . Puede descargar una copia en su página de github.

Para ejecutar jdrivesync, siga estos pasos:

  1. Instalar Java
  2. Descargar jdrivesync
  3. Ejecútalo con java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"

2

El paquete de Ubuntu 14.04 grive acaba de actualizarse a Grive2 versión 0.4.0-1. Tuve el mismo problema que usted antes de la actualización, pero intenté sincronizar esta mañana con la actualización y funciona.

Para obtener instrucciones sobre cómo instalar fácilmente grive2 0.4.0-1 en Ubuntu 14.04 y grive2 en todas las demás versiones compatibles de Ubuntu, consulte esta respuesta . Cabe señalar que el comando sudo apt-get install griveen la respuesta vinculada es correcto porque después de agregar el PPA, de hecho, instalará grive2 que funciona en lugar de la versión anterior no actualizada de grive que ya no funciona.


2

Puedes usar el paquete grive2 de GitHub

Instalación

sudo apt-get install git cmake build-essential libgcrypt11-dev libyajl-dev libboost-all-dev libcurl4-openssl-dev libexpat1-dev libcppunit-dev binutils-dev

También necesitaba estos, que no figuran en la página de github del paquete.

sudo apt-get install debhelper pkg-config zlib1g-dev

Además, esto no funcionó:

dpkg-buildpackage -j4 

Tengo este error:

dpkg-buildpackage: error: failed to sign .dsc and .changes file

Esto funcionó en su lugar:

sudo dpkg-buildpackage -uc -us

O la construcción manual también funcionó:

mkdir build
cd build
cmake ..
make -j4
sudo make install

Uso

Para sincronizar, debe ejecutar el programa manualmente (todavía no hay una "observación en tiempo real"). En el indicador, escriba:

cd /home/yourUsername/GoogleDrive/

Si es tu primera vez, ejecuta esto:

sudo grive -a

de lo contrario ejecuta esto:

sudo grive

Puede configurar un trabajo cron, si desea que esto se realice de forma regular.

Fuente: http://yourcmc.ru/wiki/Grive2#Usage



0

Esa también podría ser una alternativa, aunque hasta ahora solo he jugado un poco con ella.

http://rclone.org

Es de código abierto, escrito en Go. Se pueden sincronizar y copiar.

La salida es extraña y hay que tener cuidado de no eliminar datos con el comando de sincronización.

Grive fue mucho más fácil de usar, pero parece estar muerto.

Otra alternativa interesante podría ser esta:

https://github.com/odeke-em/drive/


1
Proporcione un resumen de las instrucciones de instalación y uso (dependencias, comandos, etc.).
muru

-1

Insynchq funciona muy bien para mí. Pero acabo de encontrar esto: https://www.thefanclub.co.za/overgrive


1
Un enlace puede, y probablemente expirará con el tiempo. Si pudiera explicar por qué el enlace es importante y cuál es la información pertinente, puede, de hecho, dar una respuesta de calidad.
KGIII
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.