grive sync error, 아마도 Google API shift


19

Ubuntu 14.04에서 실행되는 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 개발자 페이지에 대한 링크 입니다. 그게 문제가 될 수 있습니까?

답변:


18

예, Grive는 기능이없는 문서 목록 API를 사용하고 있습니다. 약 9AM PST 기준으로 이러한 API 요청 제공을 중단했습니다. 이것이 Grive 클라이언트가 '400 Bad Request'응답을받는 이유입니다.

프로젝트를 살펴보면 거의 1 년 동안 유지 관리되지 않은 것으로 보이며 문서 목록이 공식적으로 사용되지 않을 때 2012 년에 릴리스 된 새로운 API로 확실히 업데이트되지 않았습니다 ( 여기여기 ).


grive가 그림에서 벗어난 지금 Google 드라이브를 Ubuntu 14.04와 동기화하는 방법에 대한 제안이 있습니까? Insyncjdrivesync의 두 가지 대안을 찾았 지만 insync가 지불되었으며 jdrivesync는 베타 버전으로 많이 사용됩니다. 다른 사람이 그립나요?
LeoAnth

1
아마도 비동기? insynchq.com/downloads
Dan McGrath

와인 아래에서 공식 windowz 클라이언트를 사용하는 것이 가능할 수도 있습니다 (창에서는 충분히 짜증나지만)
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귀하의 초기화 된 폴더에, 그것은 구글 드라이브에서 모든 변경 사항을 다운로드합니다. 처음에는 모든 것을 다운로드하기 위해이 작업을 더 많이 수행해야 할 수도 있습니다.
    • 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. 자바 설치
  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를 추가 한 후에 더 이상 작동하지 않는 이전 버전의 업그레이드되지 않은 grive 대신 작동하는 grive2를 실제로 설치하기 때문에 정확 하다는 점에 유의해야합니다 .


2

grive2 패키지를 사용할 수 있습니다. From GitHub

설치

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

정기적으로 원할 경우 크론 작업을 설정할 수 있습니다.

출처 : http://yourcmc.ru/wiki/Grive2#Usage



0

지금까지 조금만 연주했지만 대안이 될 수도 있습니다.

http://rclone.org

Go로 작성된 오픈 소스입니다. 동기화 및 복사가 가능합니다.

출력이 이상하고 sync 명령으로 데이터를 삭제하지 않도록주의해야합니다.

슬픔은 사용하기가 훨씬 쉬웠지만 죽은 것 같습니다.

또 다른 흥미로운 대안은 다음과 같습니다.

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


1
설치 및 사용법 지침 (종속성, 명령 등)을 제공하십시오.
muru

-1

insynchq는 저에게 효과적입니다. 그러나 나는 이것을 이것을 발견했다 : https://www.thefanclub.co.za/overgrive


1
링크는 시간이 지남에 따라 만료 될 수 있습니다. 링크가 중요한 이유와 관련 정보가 무엇인지 설명 할 수 있다면 실제로 품질에 대한 답변을 얻을 수 있습니다.
KGIII
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.