erro de sincronização crescente, possivelmente mudança na API do Google


19

Estou tendo problemas para sincronizar com a minha conta do Google Drive do grive executando no Ubuntu 14.04. Eu nunca tive problemas anteriormente. Tentei limpar a unidade do meu sistema e excluir todas as pastas locais, mas ainda assim surge quando tento executar o grive após a reinstalação.

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

Aqui está um link para uma página de desenvolvedores do Google que sugere que a API mudou hoje ligação . Isso poderia ser um problema?

Respostas:


18

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

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


Alguma sugestão de como sincronizar o Google Drive com o Ubuntu 14.04 agora que o grive está fora de cena? Eu encontrei 2 alternativas, Insync e jdrivesync, mas o insync é pago, e o jdrivesync parece estar muito na versão beta. Perdi outros?
precisa saber é o seguinte


Ela só poderia ser possível usar o cliente oficial windowz sob vinho (embora seja irritante o suficiente sob janelas)
Wilf

11
Estou dando uma chance ao cliente Insync e ele está funcionando perfeitamente e, embora seja pago, é um pagamento único e muito razoável.
precisa saber é o seguinte

9

Uma boa alternativa pode ser a unidade que está escrita goe possui muitos recursos.

Para instalar, siga estas instruções:

  1. Instale os pacotes necessários

    sudo apt-get install golang git mercurial
    
  2. Crie um caminho para gopacotes no seu diretório inicial

    mkdir $HOME/go $HOME/go/bin
    
  3. Adicione esses caminhos às variáveis ​​de ambiente apropriadas editando o arquivo .profileno diretório inicial. Portanto, adicione estas linhas no e desse 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 logon para permitir que as alterações entrem em vigor.

  5. Baixe e instale driveda fonte mais recente

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

    Uso básico:

    • drive init <folder>inicializa <folder>para sincronizar com seu Google Drive.
    • Se você fizer isso drive pullna sua pasta inicializada, ele fará o download de todas as alterações do Google Drive. Na primeira vez, talvez você precise fazer isso mais vezes para baixar tudo.
    • drive push carrega alterações locais.
    • drive pull <fileOrPath>ou drive push <fileOrPath>executa a ação correspondente apenas para <fileOrPath>.
    • Existem muitas outras opções para usar, então leia o manual.

5

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

https://github.com/vitalif/grive2

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.


3

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

Para executar o jdrivesync, siga estas etapas:

  1. Instalar Java
  2. Jdrivesync download grátis
  3. Execute-o com java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"

2

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

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


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 pacote do github.

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

Também isso não funcionou:

dpkg-buildpackage -j4 

Eu recebi este erro:

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

Isso funcionou:

sudo dpkg-buildpackage -uc -us

Ou a construção manual também funcionou:

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 o seguinte:

sudo grive -a

caso contrário, execute isso:

sudo grive

Você pode configurar um trabalho cron, se desejar que isso seja feito regularmente.

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



0

Isso também pode ser uma alternativa, embora eu só tenha brincado um pouco até agora

http://rclone.org

É de código aberto, 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:

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


11
Forneça um resumo das instruções de instalação e uso (dependências, comandos, etc.).
Muru

-1

insynchq funciona muito bem para mim. Mas, acabei de encontrar o seguinte: https://www.thefanclub.co.za/overgrive


11
Um link pode e provavelmente expirará com o tempo. Se você puder explicar por que o link é importante e quais são as informações pertinentes, pode, de fato, dar uma resposta de qualidade.
KGIII
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.