抓住同步错误,可能谷歌API转移

我无法通过在Ubuntu 14.04上运行的gove驱动器帐户同步。 我之前从未遇到过任何问题。 我尝试从我的系统中清除驱动器并删除所有本地文件夹,但在重新安装后尝试运行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 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今日更改链接的Google开发人员页面的链接 。 这可能是个问题吗?

是的,Grive正在使用已失效的Documents List API。 截至太平洋标准时间上午9点左右,我们停止提供这些API请 这就是Grive客户端收到“400 Bad Request”响应的原因。

看看这个项目 ,它似乎没有维持近一年,并且肯定没有更新( 这里和这里 )到2012年发布的新API,当时文档列表被正式弃用。

一个很好的选择可能是驱动器 ,它是用go编写的,并且具有很多function。

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

  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 初始化以与您的Google云端硬盘同步。
    • 如果您在初始化文件夹中进行了drive pull ,则会从Google云端硬盘下载所有更改。 在第一次,你可能需要做更多次来下载所有内容。
    • drive push上传本地更改。
    • drive pull drive push 仅对drive push 执行相应的操作。
    • 还有更多选项可供使用,请阅读手册。

已经制作了一个可以再次起作用的一个把握叉子(不是我,只是发现它)

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对我来说很好。

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

要运行jdrivesync,请执行以下步骤:

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

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,而不是旧的未升级版本的grive不再起作用。

您可以使用来自GitHub的grive2

安装

 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

尝试这个https://github.com/astrada/google-drive-ocamlfuse ,它在某种程度上是缓慢的,因为它在您保存时立即同步文件,它也将谷歌文档和工作表转换为打开办公室格式(odt&ods)但在只读模式,

这可能也是一种替代方案,尽管到目前为止我只玩了一点

http://rclone.org

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

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

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

另一个有趣的选择可能就是这个:

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

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