grive sync error, possivelmente desvio da API do google

18

Estou com problemas para sincronizar com a minha conta do Google Drive do Grive no Ubuntu 14.04. Eu nunca tive problemas anteriormente. Eu tentei limpar a unidade do meu sistema e excluir todas as pastas locais, mas ainda chegar a isso quando tento executar grive depois de reinstalar.

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

Este é um link para uma página de desenvolvedores do Google que sugere que a API mudou o link . isso poderia ser um problema?

    
por LeoAnth 20.04.2015 / 22:31

9 respostas

18

Sim, Grive está usando a extinta Document List API. Por volta das 09:00 PST, paramos de atender a essas solicitações da API. É por isso que o cliente Grive está recebendo respostas de '400 Solicitação incorreta'.

Olhando para o projeto , ele parece ser não-mantido por quase um ano e definitivamente não foi atualizado ( aqui & aqui ) para a nova API lançada em 2012 quando a Lista de documentos foi oficialmente suspensa.

    
por Dan McGrath 20.04.2015 / 23:28
9

Uma boa alternativa pode ser drive , que está escrito em go e tem muitos recursos.

Para instalar, siga estas instruções:

  1. Instalar os pacotes necessários

    sudo apt-get install golang git mercurial
    
  2. Crie um caminho para go packages no seu diretório pessoal

    mkdir $HOME/go $HOME/go/bin
    
  3. Adicione esses caminhos às variáveis de ambiente apropriadas editando o arquivo .profile em seu diretório pessoal. Então, adicione essas linhas no e daquele arquivo:

    if [ -d "$HOME/go" ] ; then
        export GOPATH="$HOME/go"
    fi
    
    if [ -d "$HOME/go/bin" ] ; then
        PATH="$HOME/go/bin:$PATH"
    fi
    
  4. Faça logoff e faça logon para permitir que as alterações entrem em vigor.

  5. Faça o download e instale drive da fonte mais recente

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

    Uso básico:

    • drive init <folder> inicializa <folder> para sincronização com seu Google Drive.
    • Se você fizer drive pull em sua pasta inicializada, ele fará o download de todas as alterações do Google Drive. Na primeira vez, talvez você tenha que fazer isso mais vezes para baixar tudo.
    • drive push carrega alterações locais.
    • drive pull <fileOrPath> ou drive push <fileOrPath> faz a ação correspondente apenas para <fileOrPath> .
    • Existem muitas outras opções para usar, então leia o manual.
por mamoch 25.04.2015 / 12:56
5

Foi feito um fork de grive que funciona de novo (não por mim, apenas o encontrei)

link

Substituição fácil

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

Agora grive funciona bem para mim.

    
por Ric Ambridge 26.06.2015 / 11:07
3

Uma solução semelhante a grive é jdrivesync . Você pode baixar uma cópia em sua página do github.

Para executar o jdrivesync, siga estas etapas:

  1. Instale o Java
  2. Faça o download de jdrivesync
  3. Executar com java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"
por siom 03.05.2015 / 18:17
2

O pacote Ubuntu 14.04 Grive acabou de ser atualizado para a versão 0.4.0-1 do Grive2. Eu tive o mesmo problema que você antes da atualização, mas eu tentei sincronizar esta manhã com a atualização e funciona.

Para instruções sobre como instalar facilmente o grive2 0.4.0-1 no Ubuntu 14.04 e grive2 em todas as outras versões atualmente suportadas do Ubuntu, consulte esta resposta . Deve-se notar que o comando sudo apt-get install grive na resposta vinculada está correto porque depois de adicionar o PPA, ele instalará grive2 que funciona em vez da versão antiga não atualizada do grive que não funciona mais.

    
por user218538 26.05.2015 / 07:40
2

Você pode usar o pacote grive2 do GitHub

Instalação

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

Eu também precisava deles, que não estão listados na página do github do pacote.

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

Além disso, isso não funcionou:

dpkg-buildpackage -j4 

Eu recebi este erro:

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

Isso funcionou em vez disso:

sudo dpkg-buildpackage -uc -us

Ou a versão manual funcionou também:

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

Uso

Para sincronizar, você deve executar o programa manualmente (ainda não há "observação em tempo real"). No prompt, digite:

cd /home/yourUsername/GoogleDrive/

Se esta é sua primeira vez, execute isto:

sudo grive -a

mais, execute isto:

sudo grive

Você pode configurar um cron job, se quiser que isso seja feito regularmente.

Fonte: link

    
por JedatKinports 29.04.2017 / 01:03
1

Tente este link , é lento de alguma forma, uma vez que sincronizar arquivos imediatamente enquanto você salva, ele também está convertendo google docs e planilhas para abrir formatos de escritório (odt & ods), mas em modo somente leitura,

    
por Adham Saad 21.04.2015 / 13:40
0

Isso também pode ser uma alternativa, embora eu tenha tocado com isso até agora

link

É open source, escrito em Go. Pode sincronizar e copiar.

A saída é estranha e é preciso ter cuidado para não excluir dados com o comando sync.

Grive era muito mais fácil de usar, mas parece estar morto.

Outra alternativa interessante pode ser esta:

link

    
por Thomas 23.04.2015 / 11:17
-1

insynchq funciona muito bem para mim. Mas acabei de descobrir isso: link

    
por 3point0 06.11.2015 / 03:00