grive 同步错误,可能是 google API 转换

grive 同步错误,可能是 google API 转换

我在使用 Ubuntu 14.04 上运行的 grive 同步我的 google drive 帐户时遇到了问题。我以前从来没有遇到过问题。我尝试从系统中清除驱动器并删除所有本地文件夹,但在重新安装后尝试运行 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 今天已发生更改关联. 这会是个问题吗?

答案1

是的,Grive 使用的是已停用的文档列表 API。截至太平洋标准时间上午 9 点左右,我们停止提供这些 API 请求。这就是 Grive 客户端收到“400 错误请求”响应的原因。

看看项目,看起来近一年没有维护并且肯定没有更新(这里&这里) 改为 2012 年发布的新 API,当时 Documents List 已正式弃用。

答案2

一个好的选择可能是驾驶它是用 编写的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 同步。
    • 如果您drive pull在初始化文件夹中执行此操作,它将从 Google Drive 下载所有更改。第一次,您可能需要多次执行此操作才能下载所有内容。
    • drive push上传本地更改。
    • drive pull <fileOrPath>drive push <fileOrPath>仅对 执行相应操作<fileOrPath>
    • 还有更多选项可供使用,因此请阅读手册。

答案3

已经制作了一个 grive 的分叉,可以再次使用(不是我制作的,只是我发现的)

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

答案4

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。

相关内容