errore di sincronizzazione grive, eventualmente spostamento API di Google

18

Ho problemi con la 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 a eliminare tutte le cartelle locali, ma ho ancora trovato questo quando provo a eseguire grive dopo la reinstallazione.

[email protected]:~/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 link a una pagina degli sviluppatori di google che suggerisce che l'API è stata modificata oggi link . potrebbe essere un problema?

    
posta LeoAnth 20.04.2015 - 22:31

9 risposte

18

Sì, Grive sta utilizzando l'API dell'elenco documenti defunta. A partire dalle 9:00 circa del PST abbiamo smesso di servire queste richieste API. Questo è il motivo per cui il client Grive riceve risposte "400 richieste errate".

Guardando il progetto , sembra che non mantenuto per quasi un anno e sicuramente non è stato aggiornato ( qui & amp; qui ) alla nuova API rilasciata nel 2012 quando l'Elenco documenti è stato ufficialmente ritirato.

    
risposta data Dan McGrath 20.04.2015 - 23:28
9

Una buona alternativa potrebbe essere drive che è scritta in go e ha molte caratteristiche.

Per installare segui queste istruzioni:

  1. Installa pacchetti necessari

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

    mkdir $HOME/go $HOME/go/bin
    
  3. Aggiungi questi percorsi alle variabili d'ambiente appropriate modificando il file .profile nella tua home directory. Quindi aggiungi queste linee al e di quel file:

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

  5. Scarica e installa drive dall'ultima fonte

    go get -u github.com/odeke-em/drive/cmd/drive
    
  6. Leggi link

    Utilizzo di base:

    • drive init <folder> inizializza <folder> per la sincronizzazione con il tuo Google Drive.
    • Se fai drive pull nella tua 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> esegue l'azione corrispondente solo per <fileOrPath> .
    • Ci sono molte altre opzioni da usare, quindi leggi il manuale.
risposta data mamoch 25.04.2015 - 12:56
5

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

link

Sostituzione facile

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.

    
risposta data Ric Ambridge 26.06.2015 - 11:07
3

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

Per eseguire jdrivesync, segui questi passaggi:

  1. Installa Java
  2. Scarica jdrivesync
  3. eseguilo con java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"
risposta data siom 03.05.2015 - 18:17
2

Il pacchetto grive di Ubuntu 14.04 è appena aggiornato a Grive2 versione 0.4.0-1. 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 di Ubuntu attualmente supportate, vedi questa risposta . Va notato che il comando sudo apt-get install grive nella risposta collegata è corretto perché dopo aver aggiunto il PPA verrà effettivamente installato grive2 che funziona invece della vecchia versione non aggiornata di grive che non funziona più.

    
risposta data user218538 26.05.2015 - 07:40
2

Puoi utilizzare il grive2 pacchetto 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

Oppure la compilazione manuale ha funzionato anche:

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

Utilizzo

Per sincronizzare, è necessario eseguire il programma manualmente (non esiste ancora 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

Puoi impostare un cron job, se lo vuoi fare regolarmente.

Fonte: link

    
risposta data JedatKinports 29.04.2017 - 01:03
1

prova questo link , è lento in qualche modo poiché sincronizza i file immediatamente mentre salvi, ma sta anche convertendo google doc e fogli per aprire i formati office (odt & amp; ods) ma in modalità di sola lettura,

    
risposta data Adham Saad 21.04.2015 - 13:40
0

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

link

È open source, scritto in Go. Può sincronizzare e copiare.

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

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

Un'altra alternativa interessante potrebbe essere questa:

link

    
risposta data Thomas 23.04.2015 - 11:17
-1

insynchq funziona alla grande per me. Ma ho appena trovato questo: link

    
risposta data 3point0 06.11.2015 - 03:00

Leggi altre domande sui tag