erreur de synchronisation, peut-être un changement d'API Google

19

J'ai des problèmes de synchronisation avec mon compte Google Drive depuis Grive fonctionnant sur Ubuntu 14.04. Je n'ai jamais eu de problèmes auparavant. J'ai essayé de purger le lecteur de mon système et de supprimer tous les dossiers locaux, mais j'y parviens quand je tente d'exécuter grive après la réinstallation.

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

Voici un lien vers une page de développeurs Google qui suggère que l'API a changé de lien aujourd'hui . Cela pourrait-il être un problème?

LeoAnth
la source

Réponses:

18

Oui, Grive utilise la défunte API Liste des documents. Vers 9 h 00, heure du Pacifique, nous avons cessé de traiter ces demandes d'API. C'est pourquoi le client Grive reçoit des réponses «400 Bad Request».

En regardant le projet , il semble être non entretenu pendant près d'un an et n'a certainement pas été mis à jour ( ici et ici ) vers la nouvelle API qui a été publiée en 2012 lorsque Documents List a été officiellement obsolète.

Dan McGrath
la source
Des suggestions sur la façon de synchroniser Google Drive avec Ubuntu 14.04 maintenant que grive est hors de vue? J'ai trouvé 2 alternatives, Insync et jdrivesync mais insync est payant, et jdrivesync semble être fortement en version bêta. En ai-je manqué d'autres?
LeoAnth
1
Peut-être Insync? insynchq.com/downloads
Dan McGrath
Il pourrait simplement être possible d'utiliser le client officiel de windowz sous wine (bien qu'il soit assez ennuyeux sous windows)
Wilf
1
J'essaie au client Insync, et cela fonctionne parfaitement et bien qu'il soit payé, c'est un paiement unique et très raisonnable.
LeoAnth
9

Une bonne alternative pourrait être un lecteur qui est écrit goet qui a beaucoup de fonctionnalités.

Pour installer, suivez ces instructions:

  1. Installer les packages nécessaires

    sudo apt-get install golang git mercurial
    
  2. Créez un chemin pour les gopackages dans votre répertoire personnel

    mkdir $HOME/go $HOME/go/bin
    
  3. Ajoutez ces chemins aux variables d'environnement appropriées en modifiant le fichier .profiledans votre répertoire personnel. Ajoutez donc ces lignes au et de ce fichier:

    if [ -d "$HOME/go" ] ; then
        export GOPATH="$HOME/go"
    fi
    
    if [ -d "$HOME/go/bin" ] ; then
        PATH="$HOME/go/bin:$PATH"
    fi
    
  4. Déconnectez-vous et connectez-vous pour que les modifications prennent effet.

  5. Téléchargez et installez à drivepartir de la dernière source

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

    Utilisation de base:

    • drive init <folder>s'initialise <folder>pour la synchronisation avec votre Google Drive.
    • Si vous le faites drive pulldans votre dossier initialisé, il téléchargera toutes les modifications de Google Drive. La première fois, vous devrez peut-être répéter cette opération plusieurs fois pour tout télécharger.
    • drive push télécharge les modifications locales.
    • drive pull <fileOrPath>ou drive push <fileOrPath>effectue l'action correspondante uniquement pour <fileOrPath>.
    • Il existe de nombreuses autres options à utiliser, alors lisez le manuel.
Mamoch
la source
5

Une fourchette de grive a été faite qui fonctionne à nouveau (pas par moi, je viens de la trouver)

https://github.com/vitalif/grive2

Remplacement 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

Maintenant grive fonctionne bien pour moi.

Ric Ambridge
la source
3

Une solution similaire à grive est jdrivesync . Vous pouvez télécharger une copie sur sa page github.

Pour exécuter jdrivesync, procédez comme suit:

  1. Installer Java
  2. Télécharger jdrivesync
  3. Exécutez-le avec java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"
siom
la source
2

Le package grive d'Ubuntu 14.04 vient d'être mis à niveau vers Grive2 version 0.4.0-1. J'ai eu le même problème que vous avant la mise à niveau, mais j'ai essayé de me synchroniser ce matin avec la mise à niveau et cela fonctionne.

Pour obtenir des instructions sur la façon d'installer facilement grive2 0.4.0-1 dans Ubuntu 14.04 et grive2 dans toutes les autres versions actuellement prises en charge d'Ubuntu, consultez cette réponse . Il convient de noter que la commande sudo apt-get install grivedans la réponse liée est correcte car après avoir ajouté le PPA, il installera en effet grive2 qui fonctionne au lieu de l'ancienne version non mise à niveau de grive qui ne fonctionne plus.

user218538
la source
2

Vous pouvez utiliser le package grive2 de GitHub

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

J'avais également besoin de ceux-ci, qui ne sont pas répertoriés sur la page github du package.

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

Cela n'a pas fonctionné non plus:

dpkg-buildpackage -j4 

J'ai eu cette erreur:

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

Cela a plutôt fonctionné:

sudo dpkg-buildpackage -uc -us

Ou la construction manuelle a également fonctionné:

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

Usage

Pour synchroniser, vous devez exécuter le programme manuellement (il n'y a pas encore de «surveillance en temps réel»). À l'invite, tapez:

cd /home/yourUsername/GoogleDrive/

Si c'est votre première fois, exécutez ceci:

sudo grive -a

sinon lancez ceci:

sudo grive

Vous pouvez configurer un travail cron, si vous voulez que cela soit fait régulièrement.

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

Tadej
la source
1

essayez ceci https://github.com/astrada/google-drive-ocamlfuse , il est en quelque sorte lent car il synchronise les fichiers immédiatement pendant que vous enregistrez, il convertit également les documents et les feuilles de google en formats de bureau ouvert (odt & ods) mais en mode lecture seule,

Adham Saad
la source
0

Cela pourrait aussi être une alternative même si je n'ai joué qu'avec un peu jusqu'à présent

http://rclone.org

Il est open source, écrit en Go. Peut à la fois synchroniser et copier.

La sortie est bizarre et il faut faire attention à ne pas supprimer les données avec la commande sync.

Grive était beaucoup plus facile à utiliser mais il semble être mort.

Une autre alternative intéressante pourrait être celle-ci:

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

Thomas
la source
1
Veuillez fournir un résumé des instructions d'installation et d'utilisation (dépendances, commandes, etc.).
muru
-1

insynchq fonctionne très bien pour moi. Mais, je viens de trouver ceci: https://www.thefanclub.co.za/overgrive

3point0
la source
1
Un lien peut et va probablement expirer avec le temps. Si vous pouviez expliquer pourquoi le lien est important et quelles sont les informations pertinentes, alors cela pourrait en fait constituer une réponse de qualité.
KGIII