Fehler bei der Synchronisierung, möglicherweise Google API Shift


19

Ich habe Probleme bei der Synchronisierung mit meinem Google Drive-Konto, da Grive unter Ubuntu 14.04 ausgeführt wird. Ich hatte noch nie Probleme. Ich habe versucht, das Laufwerk von meinem System zu entfernen und alle lokalen Ordner zu löschen, habe dies aber trotzdem gefunden, wenn ich versuche, grive nach der Neuinstallation auszuführen.

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

Hier ist ein Link zu einer Google-Entwicklerseite, die darauf hinweist, dass die API den heutigen Link geändert hat . könnte das ein Problem sein?

Antworten:


18

Ja, Grive verwendet die API für die Liste nicht mehr vorhandener Dokumente. Gegen 9:00 Uhr PST haben wir die Bearbeitung dieser API-Anforderungen eingestellt. Aus diesem Grund erhält der Grive-Client die Antwort "400 Bad Request".

Wenn man sich das Projekt ansieht , scheint es fast ein Jahr lang nicht gewartet worden zu sein und wurde definitiv nicht ( hier und hier ) auf die neue API aktualisiert , die 2012 veröffentlicht wurde, als die Dokumentenliste offiziell veraltet war.


Irgendwelche Vorschläge, wie Google Drive mit Ubuntu 14.04 synchronisiert werden kann, wenn Grive nicht mehr im Bild ist? Ich habe 2 Alternativen gefunden, Insync und jdrivesync, aber insync ist kostenpflichtig, und jdrivesync scheint stark in der Beta zu sein. Habe ich andere vermisst?
LeoAnth

1
Vielleicht Insync? insynchq.com/downloads
Dan McGrath

Es ist möglicherweise nur möglich, den offiziellen windowz-Client unter wine zu verwenden (obwohl es unter windows ärgerlich genug ist)
Wilf

1
Ich versuche es mit dem Insync-Client, und er funktioniert einwandfrei. Obwohl er bezahlt wird, handelt es sich um eine einmalige Zahlung, die sehr vernünftig ist.
LeoAnth

9

Eine gute Alternative könnte Laufwerk sein, das geschrieben ist gound ziemlich viele Funktionen hat.

Befolgen Sie zur Installation diese Anweisungen:

  1. Installieren Sie die benötigten Pakete

    sudo apt-get install golang git mercurial
    
  2. Erstellen Sie einen Pfad für goPakete in Ihrem Ausgangsverzeichnis

    mkdir $HOME/go $HOME/go/bin
    
  3. Fügen Sie diese Pfade zu den entsprechenden Umgebungsvariablen hinzu, indem Sie die Datei .profilein Ihrem Ausgangsverzeichnis bearbeiten . Fügen Sie also diese Zeilen an und in diese Datei ein:

    if [ -d "$HOME/go" ] ; then
        export GOPATH="$HOME/go"
    fi
    
    if [ -d "$HOME/go/bin" ] ; then
        PATH="$HOME/go/bin:$PATH"
    fi
    
  4. Melden Sie sich ab und wieder an, damit die Änderungen wirksam werden.

  5. Laden Sie die driveneueste Version herunter und installieren Sie sie

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

    Grundsätzliche Verwendung:

    • drive init <folder>Initialisiert <folder>für die Synchronisierung mit Ihrem Google Drive.
    • Wenn Sie dies drive pullin Ihrem initialisierten Ordner tun , werden alle Änderungen von Google Drive heruntergeladen. Zum ersten Mal müssen Sie dies möglicherweise mehrmals tun, um alles herunterzuladen.
    • drive push lädt lokale Änderungen hoch.
    • drive pull <fileOrPath>oder drive push <fileOrPath>macht die entsprechende Aktion nur für <fileOrPath>.
    • Es gibt noch viele weitere Optionen. Lesen Sie das Handbuch.

5

Es wurde eine Gabel aus Grive hergestellt, die wieder funktioniert (nicht von mir, habe sie nur gefunden)

https://github.com/vitalif/grive2

Einfacher Austausch

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

Jetzt funktioniert Grive gut für mich.


3

Eine ähnliche Lösung wie grive ist jdrivesync . Sie können eine Kopie auf der Github-Seite herunterladen.

Führen Sie die folgenden Schritte aus, um jdrivesync auszuführen:

  1. Installieren Sie Java
  2. Laden Sie jdrivesync herunter
  3. Führen Sie es mit java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"

2

Das Ubuntu 14.04 Grive-Paket wurde gerade auf Grive2 Version 0.4.0-1 aktualisiert. Ich hatte vor dem Upgrade das gleiche Problem wie Sie, aber ich habe heute Morgen versucht, das Upgrade zu synchronisieren, und es funktioniert.

Anweisungen zum einfachen Installieren von grive2 0.4.0-1 in Ubuntu 14.04 und grive2 in allen anderen derzeit unterstützten Versionen von Ubuntu finden Sie in dieser Antwort . Es ist zu beachten, dass der Befehl sudo apt-get install grivein der verknüpften Antwort korrekt ist, da nach dem Hinzufügen des PPA tatsächlich grive2 installiert wird, das anstelle der alten, nicht aktualisierten Version von grive funktioniert, die nicht mehr funktioniert.


2

Sie können das Paket grive2 von GitHub verwenden

Installation

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

Ich brauchte auch diese, die nicht auf der Github-Seite des Pakets aufgeführt sind.

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

Auch das hat nicht funktioniert:

dpkg-buildpackage -j4 

Ich habe diesen Fehler bekommen:

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

Dies funktionierte stattdessen:

sudo dpkg-buildpackage -uc -us

Oder die manuelle Erstellung hat auch funktioniert:

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

Verwendung

Um zu synchronisieren, müssen Sie das Programm manuell ausführen (es gibt noch keine Echtzeitüberwachung). Geben Sie an der Eingabeaufforderung Folgendes ein:

cd /home/yourUsername/GoogleDrive/

Wenn dies Ihr erstes Mal ist, führen Sie Folgendes aus:

sudo grive -a

Führen Sie sonst Folgendes aus:

sudo grive

Sie können einen Cron-Job einrichten, wenn dies regelmäßig erfolgen soll.

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



0

Das könnte auch eine Alternative sein, obwohl ich bisher nur ein bisschen damit gespielt habe

http://rclone.org

Es ist Open Source, geschrieben in Go. Kann sowohl synchronisieren als auch kopieren.

Die Ausgabe ist seltsam und man muss darauf achten, keine Daten mit dem Sync-Befehl zu löschen.

Grive war viel einfacher zu benutzen, aber es scheint tot zu sein.

Eine andere interessante Alternative könnte diese sein:

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


1
Bitte geben Sie eine Zusammenfassung der Installations- und Verwendungsanweisungen (Abhängigkeiten, Befehle usw.).
muru

-1

Insynchq funktioniert gut für mich. Aber ich habe gerade Folgendes gefunden: https://www.thefanclub.co.za/overgrive


1
Ein Link kann und wird wahrscheinlich im Laufe der Zeit verfallen. Wenn Sie erklären könnten, warum der Link wichtig ist und was die relevanten Informationen sind, könnte dies in der Tat zu einer hochwertigen Antwort führen.
KGIII
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.