errore di sincronizzazione, eventualmente spostamento dell'API di Google


19

Sto riscontrando problemi di sincronizzazione con il mio account Google Drive da Grive in esecuzione su Ubuntu 14.04. Non ho mai avuto problemi in precedenza. Ho provato a eliminare l'unità dal mio sistema e ad eliminare tutte le cartelle locali, ma mi viene ancora in mente quando provo a eseguire grive dopo la reinstallazione.

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

Ecco un collegamento a una pagina degli sviluppatori di Google che suggerisce che il collegamento API è stato modificato oggi . potrebbe essere un problema?

Risposte:


18

Sì, Grive utilizza l'API Elenco documenti defunta. Verso le 9:00 PST abbiamo smesso di servire queste richieste API. Questo è il motivo per cui il client Grive riceve risposte "400 richieste non valide".

Guardando il progetto , sembra non essere mantenuto per quasi un anno e sicuramente non è stato aggiornato ( qui e qui ) alla nuova API che è stata rilasciata nel 2012 quando l'elenco dei documenti è stato ufficialmente deprecato.


Qualche suggerimento su come sincronizzare Google Drive con Ubuntu 14.04 ora che Grive è fuori dai giochi? Ho trovato 2 alternative, Insync e jdrivesync ma insync è pagato e jdrivesync sembra essere pesantemente in beta. Mi sono perso altri?
Leone,


Potrebbe essere possibile usare il client ufficiale di windowz sotto vino (anche se è abbastanza fastidioso sotto Windows)
Wilf

1
Sto provando il cliente Insync, funziona perfettamente e sebbene sia pagato, è un pagamento una tantum e molto ragionevole.
Leone

9

Una buona alternativa potrebbe essere l' unità che è scritta goe ha molte caratteristiche.

Per installare seguire queste istruzioni:

  1. Installa i pacchetti necessari

    sudo apt-get install golang git mercurial
    
  2. Crea un percorso per i gopacchetti nella tua home directory

    mkdir $HOME/go $HOME/go/bin
    
  3. Aggiungi questi percorsi alle variabili di ambiente appropriate modificando il file .profilenella tua home directory. Quindi aggiungi queste righe al e del file:

    if [ -d "$HOME/go" ] ; then
        export GOPATH="$HOME/go"
    fi
    
    if [ -d "$HOME/go/bin" ] ; then
        PATH="$HOME/go/bin:$PATH"
    fi
    
  4. Disconnettersi e accedere per rendere effettive le modifiche.

  5. Scarica e installa drivedalla fonte più recente

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

    Utilizzo di base:

    • drive init <folder>inizializza <folder>per la sincronizzazione con Google Drive.
    • Se lo fai drive pullnella cartella inizializzata, scaricherà tutte le modifiche da Google Drive. Per la prima volta forse devi farlo più volte per scaricare tutto.
    • drive push carica le modifiche locali.
    • drive pull <fileOrPath>o drive push <fileOrPath>fa l'azione corrispondente solo per <fileOrPath>.
    • Ci sono molte altre opzioni da usare, quindi leggi il manuale.

5

È stato creato un fork di grive che funziona di nuovo (non da me, l'ho appena trovato)

https://github.com/vitalif/grive2

Facile sostituzione

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

Ora grive funziona bene per me.


3

Una soluzione simile a grive è jdrivesync . Puoi scaricare una copia sulla sua pagina github.

Per eseguire jdrivesync attenersi alla seguente procedura:

  1. Installa Java
  2. Scarica jdrivesync
  3. Eseguilo con java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"

2

Il pacchetto grive di Ubuntu 14.04 è appena stato aggiornato alla versione 0.4.0-1 di Grive2. Ho avuto lo stesso problema con te prima dell'aggiornamento ma ho provato a sincronizzare questa mattina con l'aggiornamento e funziona.

Per istruzioni su come installare facilmente grive2 0.4.0-1 in Ubuntu 14.04 e grive2 in tutte le altre versioni attualmente supportate di Ubuntu vedere questa risposta . Va notato che il comando sudo apt-get install grivenella risposta collegata è corretto perché dopo aver aggiunto PPA installerà effettivamente grive2 che funziona invece della vecchia versione non aggiornata di grive che non funziona più.


2

Puoi usare il pacchetto grive2 da GitHub

Installazione

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

Avevo anche bisogno di questi, che non sono elencati nella pagina github del pacchetto.

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

Anche questo non ha funzionato:

dpkg-buildpackage -j4 

Ho ricevuto questo errore:

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

Questo ha funzionato invece:

sudo dpkg-buildpackage -uc -us

O la compilazione manuale ha funzionato anche:

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

uso

Per eseguire la sincronizzazione, è necessario eseguire manualmente il programma (non è ancora disponibile una "visione in tempo reale"). Al prompt, digitare:

cd /home/yourUsername/GoogleDrive/

Se è la prima volta, esegui questo:

sudo grive -a

altrimenti esegui questo:

sudo grive

È possibile impostare un processo cron, se lo si desidera fare regolarmente.

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



0

Potrebbe anche essere un'alternativa anche se finora ci ho giocato solo un po '

http://rclone.org

È open source, scritto in Go. È possibile sincronizzare e copiare.

L'output è strano e bisogna stare attenti a non cancellare i dati con il comando sync.

Grive era molto più facile da usare ma sembra essere morto.

Un'altra alternativa interessante potrebbe essere questa:

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


1
Fornire un riepilogo delle istruzioni di installazione e utilizzo (dipendenze, comandi, ecc.).
muru,

-1

insynchq funziona alla grande per me. Ma ho appena trovato questo: https://www.thefanclub.co.za/overgrive


1
Un collegamento può, e probabilmente scadrà, nel tempo. Se tu potessi spiegare perché il link è importante e quali sono le informazioni pertinenti, allora potrebbe davvero fornire una risposta di qualità.
KGIII,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.