web-dev-qa-db-fra.com

Erreur de synchronisation Grive, éventuellement, modification de l'API Google

Je ne parviens pas à synchroniser avec mon compte Google Drive avec grive 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 je le fais 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é aujourd'hui lien . Cela pourrait-il être un problème?

18
LeoAnth

Oui, Grive utilise la défunte API de liste de documents. Vers 9 heures PST, nous avons cessé de répondre à ces demandes d'API. C'est pourquoi le client Grive reçoit les réponses "400 demandes non sollicitées".

En regardant le projet , il semble être non maintenu depuis presque un an et n'a certainement pas été mis à jour ( ici & ici ) à la nouvelle API publiée en 2012 lorsque la liste de documents était officiellement obsolète.

18
Dan McGrath

Une bonne alternative pourrait être lecteur qui est écrit en go et qui possède pas mal de fonctionnalités.

Pour installer, suivez ces instructions:

  1. Installer les paquets nécessaires

    Sudo apt-get install golang git Mercurial
    
  2. Créez un chemin pour les packages go dans votre répertoire de base

    mkdir $HOME/go $HOME/go/bin
    
  3. Ajoutez ces chemins aux variables d’environnement appropriées en modifiant le fichier .profile dans votre répertoire personnel. Ajoutez donc ces lignes à la fin du 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 drive à partir de la dernière source

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

    Utilisation de base:

    • drive init <folder> initialise <folder> pour la synchronisation avec votre Google Drive.
    • Si vous faites drive pull dans votre dossier initialisé, toutes les modifications seront téléchargées à partir de Google Drive. À la première fois, vous devrez peut-être faire cela plus souvent 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 y a beaucoup plus d'options à utiliser, alors lisez le manuel.
9
mamoch

Une fourchette de grive a été faite qui fonctionne à nouveau (pas par moi, je viens de le 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.

5
Ric Ambridge

Une solution similaire à grive est jdrivesync . Vous pouvez en 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"
3
siom

Le paquet grive Ubuntu 14.04 vient de passer à 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 synchroniser ce matin avec la mise à niveau et cela fonctionne.

Pour savoir comment installer facilement grive2 0.4.0-1 dans Ubuntu 14.04 et grive2 dans toutes les autres versions actuellement prises en charge d'Ubuntu, voir cette réponse . Il convient de noter que la commande Sudo apt-get install grive dans la réponse liée est correcte car après l’ajout du PPA, elle installera effectivement grive2 qui fonctionne à la place de l’ancienne version non améliorée de grive qui ne fonctionne plus.

2
user218538

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 aussi besoin de ceux-ci, qui ne sont pas listés sur la page github du paquet.

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

Aussi cela n'a pas fonctionné:

dpkg-buildpackage -j4 

J'ai eu cette erreur:

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

Cela a fonctionné à la place:

Sudo dpkg-buildpackage -uc -us

Ou la construction manuelle a également fonctionné:

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

Utilisation

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

cd /home/yourUsername/GoogleDrive/

Si c'est votre première fois, lancez ceci:

Sudo grive -a

sinon exécutez 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

2
Tadej

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

1
Adham Saad

Cela pourrait aussi être une alternative bien que je n’ai joué qu’un peu avec elle jusqu’à présent

http://rclone.org

C'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/

0
Thomas