усунути помилку синхронізації, можливо, зсув API Google


19

У мене виникають проблеми з синхронізацією з моїм обліковим записом google Drive від grive, що працює на Ubuntu 14.04. Раніше у мене ніколи не було проблем. Я спробував очистити диск з моєї системи та видалити всі локальні папки, але все-таки придумав це, коли я намагаюся запустити 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 сьогодні змінив посилання . це може бути проблемою?

Відповіді:


18

Так, Grive використовує API списку неіснуючих документів. Приблизно о 9:00 PST ми перестали обслуговувати ці запити API. Ось чому клієнт Grive отримує відповіді "400 поганих запитів".

Дивлячись на проект , він, здається, не підтримується майже рік і, безумовно, не був оновлений ( тут і тут ) до нового API, який був випущений у 2012 році, коли Список документів був офіційно знятий.


Будь-які пропозиції щодо синхронізації Диска Google з Ubuntu 14.04, коли гриф не відображений? Я знайшов 2 альтернативи, Insync та jdrivesync, але insync оплачується, і jdrivesync, схоже, є значною мірою в бета-версії. Чи сумував я за іншими?
ЛевAnth

1
Можливо, Insync? insynchq.com/downloads
Ден МакГрат

Можливо, просто можна використовувати офіційного клієнта windowsz під вином (хоча він досить дратує під вікнами)
Вільф

1
Я даю клієнтові Insync, і він працює чудово, і хоча він платний, це одноразова оплата і дуже розумна.
ЛевАнф

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 щойно оновлений до Grive2 версії 0.4.0-1. У мене була та сама проблема, що і у вас до оновлення, але я спробував синхронізувати сьогодні вранці з оновленням, і воно працює.

Інструкції про те, як легко встановити grive2 0.4.0-1 в Ubuntu 14.04 та grive2 у всіх інших підтримуваних на даний момент версіях Ubuntu, дивіться цю відповідь . Слід зазначити, що команда sudo apt-get install griveу пов'язаній відповіді є правильною, оскільки після додавання PPA вона дійсно встановить grive2, яка працює замість старої не оновленої версії grive, яка більше не працює.


2

Ви можете використовувати пакет grive2 від 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

Ви можете налаштувати роботу cron, якщо хочете це робити регулярно.

Джерело: http://yourcmc.ru/wiki/Grive2#Usage


1

спробуйте це https://github.com/astrada/google-drive-ocamlfuse , це повільно якось синхронізує файли одразу під час збереження, також перетворює google документи та аркуші у відкриті офісні формати (odt & ods), але в режим лише для читання,


0

Це також може бути альтернативою, хоча я поки що з цим лише трохи грав

http://rclone.org

Це відкритий код, написаний на Go. Можна синхронізувати та копіювати.

Вихід дивний, і потрібно бути обережним, щоб не видаляти дані командою синхронізації.

Grive було набагато простіше у використанні, але він, здається, мертвий.

Ще одна цікава альтернатива може бути цією:

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


1
Будь ласка, надайте короткий опис інструкцій щодо встановлення та використання (залежності, команди тощо).
муру

-1

insynchq відмінно працює для мене. Але я щойно знайшов це: https://www.thefanclub.co.za/overgrive


1
Посилання може і, ймовірно, закінчиться з часом. Якщо ви могли б пояснити, чому посилання важливе і яка відповідна інформація, то це, справді, може стати якісною відповіддю.
KGIII
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.