błąd synchronizacji grive, możliwe przesunięcie API Google


19

Mam problem z synchronizacją z moim kontem dysku Google z grive działającym na Ubuntu 14.04. Nigdy wcześniej nie miałem problemów. Próbowałem usunąć dysk z mojego systemu i usunąć wszystkie foldery lokalne, ale nadal przychodzi mi to do głowy, gdy próbuję uruchomić grive po ponownej instalacji.

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

Oto link do strony programistów Google, która sugeruje, że interfejs API zmienił dziś link . czy to może być problem?

Odpowiedzi:


18

Tak, Grive używa nieistniejącego interfejsu API listy dokumentów. Około 9 rano czasu PST przestaliśmy obsługiwać te żądania API. Właśnie dlatego klient Grive otrzymuje odpowiedzi „400 złych żądań”.

Patrząc na projekt , wydaje się, że jest nieobsługiwany przez prawie rok i zdecydowanie nie został zaktualizowany ( tu i tutaj ) do nowego API, który został wydany w 2012 roku, kiedy lista dokumentów została oficjalnie przestarzała.


Jakieś sugestie, jak zsynchronizować Dysk Google z Ubuntu 14.04 teraz, gdy grive nie ma obrazu? Znalazłem 2 alternatywy, Insync i jdrivesync, ale insync jest płatny, a jdrivesync wygląda na silnie w fazie beta. Czy tęskniłem za innymi?
LeoAnth

1
Być może Insync? insynchq.com/downloads
Dan McGrath

Możliwe jest po prostu użycie oficjalnego klienta Windowz pod winem (chociaż pod Windows jest wystarczająco denerwujące)
Wilf

1
Daję klientowi Insync szansę i działa idealnie i chociaż jest opłacony, jest to jednorazowa płatność i bardzo rozsądna.
LeoAnth

9

Dobrą alternatywą może być dysk, który jest napisany goi ma całkiem sporo funkcji.

Aby zainstalować, postępuj zgodnie z tymi instrukcjami:

  1. Zainstaluj potrzebne pakiety

    sudo apt-get install golang git mercurial
    
  2. Utwórz ścieżkę do gopakietów w swoim katalogu domowym

    mkdir $HOME/go $HOME/go/bin
    
  3. Dodaj te ścieżki do odpowiednich zmiennych środowiskowych, edytując plik .profilew katalogu domowym. Dodaj więc te wiersze na końcu tego pliku:

    if [ -d "$HOME/go" ] ; then
        export GOPATH="$HOME/go"
    fi
    
    if [ -d "$HOME/go/bin" ] ; then
        PATH="$HOME/go/bin:$PATH"
    fi
    
  4. Wyloguj się i zaloguj, aby wprowadzić zmiany.

  5. Pobierz i zainstaluj drivez najnowszego źródła

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

    Podstawowe użycie:

    • drive init <folder>inicjuje się w <folder>celu synchronizacji z Dyskiem Google.
    • Jeśli zrobisz to drive pullw zainicjowanym folderze, pobierze wszystkie zmiany z Dysku Google. Być może po raz pierwszy musisz to zrobić więcej razy, aby pobrać wszystko.
    • drive push przesyła zmiany lokalne.
    • drive pull <fileOrPath>lub drive push <fileOrPath>wykonuje odpowiednią akcję tylko dla <fileOrPath>.
    • Istnieje wiele innych opcji do użycia, więc przeczytaj instrukcję.

5

Stworzono widelec grive, który działa ponownie (nie przeze mnie, właśnie go znalazłem)

https://github.com/vitalif/grive2

Łatwa wymiana

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

Teraz grive działa dla mnie dobrze.


3

Rozwiązaniem podobnym do grive jest jdrivesync . Możesz pobrać kopię na stronie github.

Aby uruchomić jdrivesync, wykonaj następujące kroki:

  1. Zainstaluj Javę
  2. Pobierz jdrivesync
  3. Uruchom to z java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"

2

Pakiet grive Ubuntu 14.04 właśnie został zaktualizowany do wersji Grive2 0.4.0-1. Miałem ten sam problem co ty przed aktualizacją, ale próbowałem zsynchronizować dziś rano z aktualizacją i działa.

Aby uzyskać instrukcje, jak łatwo zainstalować grive2 0.4.0-1 w Ubuntu 14.04 i grive2 we wszystkich innych obecnie obsługiwanych wersjach Ubuntu, zobacz tę odpowiedź . Należy zauważyć, że polecenie sudo apt-get install grivew połączonej odpowiedzi jest poprawne, ponieważ po dodaniu PPA rzeczywiście zainstaluje grive2, który działa zamiast starej, nieuaktualnionej wersji grive, która już nie działa.


2

Możesz użyć pakietu grive2 z GitHub

Instalacja

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

Potrzebowałem również tych, które nie są wymienione na stronie github pakietu.

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

Również to nie działało:

dpkg-buildpackage -j4 

Mam ten błąd:

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

To zadziałało zamiast:

sudo dpkg-buildpackage -uc -us

Lub ręczna kompilacja działała również:

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

Stosowanie

Aby zsynchronizować, musisz uruchomić program ręcznie (nie ma jeszcze „oglądania w czasie rzeczywistym”). W wierszu polecenia wpisz:

cd /home/yourUsername/GoogleDrive/

Jeśli to twój pierwszy raz, uruchom to:

sudo grive -a

w przeciwnym razie uruchom to:

sudo grive

Możesz skonfigurować zadanie crona, jeśli chcesz, aby było to wykonywane regularnie.

Źródło: http://yourcmc.ru/wiki/Grive2#Usage



0

To może być również alternatywa, chociaż do tej pory grałem tylko trochę

http://rclone.org

Jest to oprogramowanie typu open source, napisane w Go. Może zarówno synchronizować, jak i kopiować.

Dane wyjściowe są dziwne i należy uważać, aby nie usunąć danych za pomocą polecenia synchronizacji.

Grive był znacznie łatwiejszy w użyciu, ale wydaje się martwy.

Inną ciekawą alternatywą może być ta:

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


1
Podaj podsumowanie instrukcji instalacji i użytkowania (zależności, polecenia itp.).
muru

-1

insynchq działa dla mnie świetnie. Ale właśnie to znalazłem: https://www.thefanclub.co.za/overgrive


1
Łącze może i prawdopodobnie wygasa z czasem. Jeśli potrafisz wyjaśnić, dlaczego link jest ważny i jakie są istotne informacje, może rzeczywiście stanowić dobrą odpowiedź.
KGIII,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.