19

I am having trouble syncing with my google drive account from grive running on Ubuntu 14.04. I have never had problems previously. I tried purging drive from my system and deleting all local folders, but still come up with this when I try to run grive after reinstalling.

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

Here is a link to a google developers page that suggests that the API has changed today link. could that be an issue?

9 Answers 9

18

Yes, Grive is using the defunct Documents List API. As of around 9AM PST we stopped serving these API requests. This is why the Grive client is receiving '400 Bad Request' responses.

Looking at the project, it appears to be unmaintained for almost a year and definitely hasn't been updated (here & here) to the new API that was released in 2012 when Documents List was officially deprecated.

4
  • Any suggestions for how to get Google Drive syncing with Ubuntu 14.04 now that grive is out of the picture? I have found 2 alternatives, Insync and jdrivesync but insync is paid, and jdrivesync looks to be heavily in beta. Did I miss any others?
    – LeoAnth
    Apr 20, 2015 at 21:37
  • 1
    Perhaps Insync? insynchq.com/downloads Apr 20, 2015 at 21:38
  • It might just be possible to use the official windowz client under wine (though it is annoying enough under windows)
    – Wilf
    Apr 20, 2015 at 23:21
  • 1
    I am giving the Insync client a go, and it is working perfectly and although it is paid, it is a one time payment and very reasonable.
    – LeoAnth
    Apr 21, 2015 at 1:36
9

A good alternative might be drive which is written in go and has quite a lot features.

To install follow these instructions:

  1. Install needed packages

    sudo apt-get install golang git mercurial
    
  2. Create a path for go packages in your home directory

    mkdir $HOME/go $HOME/go/bin
    
  3. Add these paths to the appropriate environment variables by editing the file .profile in your home directory. So add these lines at the and of that file:

    if [ -d "$HOME/go" ] ; then
        export GOPATH="$HOME/go"
    fi
    
    if [ -d "$HOME/go/bin" ] ; then
        PATH="$HOME/go/bin:$PATH"
    fi
    
  4. Log off and log on to let the changes take effect.

  5. Download and install drive from latest source

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

    Basic usage:

    • drive init <folder> initializes <folder> for syncing with your Google Drive.
    • If yo do drive pull in your initialized folder, it will download all changes from Google Drive. At the first time maybe you have to do this more times to download everything.
    • drive push uploads local changes.
    • drive pull <fileOrPath> or drive push <fileOrPath> does the corresponding action only for <fileOrPath>.
    • There are many more options to use, so read the manual.
5

A fork of grive has been made that works again (not by me, just found it)

https://github.com/vitalif/grive2

Easy replacement

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

Now grive works fine for me.

0
3

A solution similar to grive is jdrivesync. You can download a copy on its github page.

To run jdrivesync follow these steps:

  1. Install Java
  2. Download jdrivesync
  3. Run it with java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"
2

Ubuntu 14.04 grive package has just upgraded to Grive2 version 0.4.0-1. I had the same problem as you before the upgrade but I tried syncing this morning with the upgrade and it works.

For instructions on how to easily install grive2 0.4.0-1 in Ubuntu 14.04 and grive2 in all other currently supported versions of Ubuntu see this answer. It should be noted that the command sudo apt-get install grive in the linked answer is correct because after adding the PPA it will indeed install grive2 that works instead of the old not upgraded version of grive that doesn't work anymore.

2

You can use the grive2 package From 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

I also needed these, which are not listed on the github page of the package.

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

Also this didn't work:

dpkg-buildpackage -j4 

I got this error:

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

This worked instead:

sudo dpkg-buildpackage -uc -us

Or the manual build worked also:

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

Usage

To sync, you must run the program manually (there is no «real-time watching» yet). At the prompt, type:

cd /home/yourUsername/GoogleDrive/

If this is your first time, run this:

sudo grive -a

else run this:

sudo grive

You can set up a cron job, if you want this done on a regular basis.

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

1

try this https://github.com/astrada/google-drive-ocamlfuse , it is slow somehow as it synchronize files immediately while you save , it is also converting google docs and sheets to open office formats ( odt & ods ) but in read-only mode ,

0

That might also be an alternative although I have only played with it a little so far

http://rclone.org

It is open source, written in Go. Can both sync and copy.

Output is weird and one has to be careful not to delete data with the sync command.

Grive was much easier to use but it seems to be dead.

Another interesting alternative might be this one:

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

1
  • 1
    Please provide a summary of installation and usage instructions (dependencies, commands, etc.).
    – muru
    Apr 23, 2015 at 12:34
-1

insynchq works great for me. But, I just found this: https://www.thefanclub.co.za/overgrive

1
  • 1
    A link can, and probably will, expire over time. If you could explain why the link is important and what the pertinent information is then it may, indeed, make for a quality answer.
    – KGIII
    Nov 6, 2015 at 3:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .