web-dev-qa-db-ja.com

同期エラーを取得します。GoogleAPIシフトの可能性があります

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

以下は、今日のAPIが変更されたことを示唆するGoogle開発者ページへのリンクです link 。それが問題になりますか?

18
LeoAnth

はい、Griveは無効なDocuments List APIを使用しています。太平洋標準時の午前9時頃に、これらのAPIリクエストの処理を停止しました。これが、Griveクライアントが「400 Bad Request」応答を受信して​​いる理由です。

project を見ると、 ほぼ1年間メンテナンスされていない のように見え、間違いなく更新されていません(- herehere )Documents Listが正式に廃止された2012年にリリースされた新しいAPI。

18
Dan McGrath

適切な代替手段は drive です。これはgoで記述されており、非常に多くの機能を備えています。

インストールする手順は次のとおりです。

  1. 必要なパッケージをインストールする

    Sudo apt-get install golang git Mercurial
    
  2. ホームディレクトリにgoパッケージのパスを作成します

    mkdir $HOME/go $HOME/go/bin
    
  3. ホームディレクトリの.profileファイルを編集して、これらのパスを適切な環境変数に追加します。そのファイルのandに次の行を追加します。

    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>は、Googleドライブと同期するために<folder>を初期化します。
    • 初期化されたフォルダーでdrive pullを実行すると、Googleドライブからすべての変更がダウンロードされます。初めて、すべてをダウンロードするために、これをもっとしなければならないかもしれません。
    • drive Pushはローカルの変更をアップロードします。
    • drive pull <fileOrPath>またはdrive Push <fileOrPath>は、<fileOrPath>に対してのみ対応するアクションを実行します。
    • 使用するオプションは他にもたくさんあるので、マニュアルをお読みください。
9
mamoch

再び働くグリーブのフォークが作られました(私ではなく、ちょうどそれを見つけました)

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がうまく機能します。

5
Ric Ambridge

Griveに似た解決策は jdrivesync です。 githubページでコピーをダウンロードできます。

Jdrivesyncを実行するには、次の手順に従います。

  1. インストール Java
  2. ダウンロード jdrivesync
  3. Java -jar jdrivesync-0.2.2-jar-with-dependencies.jar -l "/home/directory-to-sync"で実行します
3
siom

Ubuntu 14.04 griveパッケージは、Grive2バージョン0.4.0-1にアップグレードされました。アップグレード前と同じ問題がありましたが、今朝、アップグレードと同期しようとしましたが、動作します。

Ubuntu 14.04にgrive2 0.4.0-1を、Ubuntuの現在サポートされている他のすべてのバージョンにgrive2を簡単にインストールする方法については、 この回答 を参照してください。 PPAを追加すると、機能しないgriveのアップグレードされていない古いバージョンの代わりに機能するgrive2が実際にインストールされるため、リンクされた回答のSudo apt-get install griveコマンドが正しいことに注意してください。

2
user218538

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

2
Tadej

これを試してみてください https://github.com/astrada/google-drive-ocamlfuse 、保存中にすぐにファイルを同期するため、何らかの方法で遅くなります。また、GoogleドキュメントとシートをOpen Office形式に変換しています。 (odt&ods)ただし、読み取り専用モードでは、

1
Adham Saad

これは代替手段かもしれませんが、私はこれまで少しだけ遊んだことがあります

http://rclone.org

Goで書かれたオープンソースです。同期とコピーの両方ができます。

出力は奇妙であり、syncコマンドでデータを削除しないように注意する必要があります。

Griveは使いやすかったのですが、死んでいるようです。

別の興味深い代替案はこれかもしれません:

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

0
Thomas