严重同步错误,可能是Google API移位


19

我无法从在Ubuntu 14.04上运行的grive同步到我的Google驱动器帐户。我以前从未遇到过问题。我尝试从系统中清除驱动器并删除所有本地文件夹,但是当我尝试在重新安装后运行grive时仍然提出了此建议。

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

这是指向Google开发人员页面的链接,该页面建议该API今天已更改链接。这可能是个问题吗?

Answers:


18

是的,Grive正在使用已失效的Documents List API。从太平洋标准时间(PST)上午9点左右开始,我们不再提供这些API请求。这就是Grive客户端收到“ 400 Bad Request”响应的原因。

查看该项目,它似乎已经维护了将近一年,并且绝对没有更新(此处此处)到2012年正式弃用Documents List时发布的新API。


既然格格不入,那么关于如何使Google Drive与Ubuntu 14.04同步的任何建议?我发现了2个替代方案,即Insyncjdrivesync,但已支付了insync,并且jdrivesync似乎处于beta状态。我想念其他人吗?
LeoAnth 2015年

1
也许不同步?insynchq.com/downloads
Dan McGrath

也许可以在葡萄酒下使用官方windowz客户端(尽管在Windows下足够烦人)
Wilf

1
我给了Insync客户一个机会,它工作得很好,尽管已经付款,但这是一次付款,非常合理。
LeoAnth

9

一个很好的选择是写入的驱动器,它go具有很多功能。

要安装,请遵循以下说明:

  1. 安装所需的软件包

    sudo apt-get install golang git mercurial
    
  2. go在主目录中为软件包创建路径

    mkdir $HOME/go $HOME/go/bin
    
  3. 通过.profile在主目录中编辑文件,将这些路径添加到适当的环境变量中。因此,请在该文件的和添加以下行:

    if [ -d "$HOME/go" ] ; then
        export GOPATH="$HOME/go"
    fi
    
    if [ -d "$HOME/go/bin" ] ; then
        PATH="$HOME/go/bin:$PATH"
    fi
    
  4. 注销并登录以使更改生效。

  5. drive从最新来源下载并安装

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

    基本用法:

    • drive init <folder>初始化<folder>以与您的Google云端硬盘同步。
    • 如果drive pull您在初始化的文件夹中执行此操作,它将从Google云端硬盘下载所有更改。第一次,也许您必须多次执行此操作才能下载所有内容。
    • drive push 上传本地更改。
    • drive pull <fileOrPath>drive push <fileOrPath>仅针对进行相应的操作<fileOrPath>
    • 还有更多选项可供使用,因此请阅读手册。

5

制作了一把叉子,它又可以工作了(不是我的,只是找到了)

https://github.com/vitalif/grive2

更换方便

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

现在,grive对我来说很好。


3

类似于grive的解决方案是jdrivesync。您可以在其github页面上下载副本。

要运行jdrivesync,请遵循以下步骤:

  1. 安装Java
  2. 下载jdrivesync
  3. 运行它 java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"

2

Ubuntu 14.04 grive软件包刚刚升级到Grive2版本0.4.0-1。升级之前,我遇到了与您相同的问题,但是今天早上我尝试与升级同步,并且可以正常工作。

有关如何在Ubuntu 14.04中轻松安装grive2 0.4.0-1和在所有其他当前受支持的Ubuntu版本中轻松安装grive2的说明,请参见此答案。应当注意,sudo apt-get install grive链接答案中的命令是正确的,因为添加PPA之后,它确实会安装有效的grive2,而不是不再起作用的旧的未升级版本。


2

您可以使用来自GitHubgrive2软件包

安装

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

我还需要这些,但未在软件包的github页面上列出。

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

同样这不起作用:

dpkg-buildpackage -j4 

我收到此错误:

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

而是这样做:

sudo dpkg-buildpackage -uc -us

或手动构建也起作用:

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

用法

要进行同步,您必须手动运行该程序(尚无“实时观看”)。在提示符下,键入:

cd /home/yourUsername/GoogleDrive/

如果这是您第一次,请运行以下命令:

sudo grive -a

否则运行这个:

sudo grive

如果您希望定期执行此任务,则可以设置cron任务。

来源:http://yourcmc.ru/wiki/Grive2#Usage



0

尽管到目前为止我只玩了一点,但这也可能是另一种选择

http://rclone.org

它是开源的,用Go编写。可以同步和复制。

输出很奇怪,必须注意不要使用sync命令删除数据。

Grive易于使用,但似乎已经死了。

另一个有趣的替代方法可能是:

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


1
请提供安装和使用说明的摘要(依赖项,命令等)。
muru 2015年

-1

insynchq对我来说很棒。但是,我刚刚发现了这个:https : //www.thefanclub.co.za/overgrive


1
链接可以并且很可能会随着时间而过期。如果您能解释该链接为什么重要以及相关信息是什么,那么它确实可以提供高质量的答案。
KGIII
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.