Как синхронизировать OneDrive Business (Office 365) в Linux (Ubuntu)?

Я попробовал решение, предложенное Sayed Metwaly ( Как синхронизировать OneDrive Business /Office 365 в Linux?), Но я получил следующее сообщение об ошибке:

=== Job === OneDrive_Sync: 'office365://xxxxxxxxx-my.sharepoint.com/personal/xxxxxx_oasis_xxxxxxxxx_be/Documents' <-> 'file:///home/xxxxxx/Onedrive'
142724 L: No file system for office365://xxxxxxxxx-my.sharepoint.com/personal/xxxxxx_oasis_xxxxxxxxx_be/Documents
File system at office365://xxxxxxxxx-my.sharepoint.com/personal/xxxxxx_oasis_xxxxxxxxx_be/Documents has been replaced by New OneDrive V2 API.
Click Browse button to Re-Browse to your OneDrive sync folder, as New OneDrive requires browser-based authentication (OAuth2)

Есть идеи, что я сделал не так? Спасибо

3 ответа

Вот что я сделал, чтобы заставить его работать очень быстро:

  1. Использовал компьютер с Windows для настройки синхронизации с использованием версии Goodsync для Windows. Это включает в себя настройку (на основе браузера) авторизации с Office 365.
  2. Использовал опцию "Экспорт" в версии Goodsync для Windows, чтобы создать jobs.tix файл.
  3. Создано ~/.goodsync папка на машине Linux.
  4. Разместил jobs.tix файл в этой папке.
  5. Это НОВЫЙ ШАГ, который я должен был открыть самостоятельно: jobs.tix подать в jobs-groups-options.tix - это позволило использовать всю конфигурацию.
  6. Применены следующие изменения, как показано diff вывод из оригинальной винды jobs.tix файл:
    $ diff ~ / Downloads / jobs.tix ~ /.goodsync / jobs-groups-options.tix
    51c51
     Url = "file:///home/tomh/onedrive"
    54c54
     Url = "file:///home/tomh/onedrive"
    68c68
    <} Закладки = {} TimeStamp = 013061702176
    ---
    >} Закладки = { }   TimeStamp = 013061705503
    84c84
     Url = "file:///home/tomh/onedrive"
    87c87
     AcctUrl = "file:/// home / tomh / onedrive"
    
    куда tomh-a мое имя пользователя Windows, od была моя локальная папка Windows OneDrive, tomh мое имя пользователя в Linux, и onedrive моя локальная папка Linux OneDrive Вы можете смело игнорировать TimeStamp линии, я просто оставил их для полноты. Обратите внимание, что это diff выходные данные не были обработаны или изменены каким-либо образом, за исключением замены определенных символов соответствующими объектами HTML. Так что да, вы все теперь знаете мои имена пользователей Windows и Linux и папки синхронизации OneDrive. Не вижу, как это ставит под угрозу мою безопасность, и это увеличивает шансы, что это без опечаток.
  7. Одна непонятная вещь, которую я изменил, заставила ее работать: вы найдете эти две строки в файле:
     Side2 = 
    Conn =  
    Я изменил вторую строку следующим образом:
     Side2 = 
    Dir =  
    и он сразу начал работать.
    Отказ от ответственности: после запуска синхронизации (следующий шаг) Goodsync изменил строку на Conn = <Connect> , Так что я могу ошибаться. Может быть, я мог бы оставить все как есть (и снова). Но это последнее изменение, которое я сделал, прежде чем оно начало работать. Вполне возможно, что я изменил что-то еще в то же время, что заставило это работать. Но, по крайней мере, внесение этого изменения не сломало его для меня:)
  8. Запустите синхронизацию с
     Синхронизация gsync "Onedrive" 
    заменив "Onedrive" на все, что появляется в строках, которые выглядят следующим образом:
     Работа = {<Работа>
    Name = "Onedrive" 

Я считаю, что требование API v2.0 для использования OAuth сделало невозможным просто взять чужое jobs-groups-options.tix файл и заставить его работать на себя, просто используя Linux. То есть до тех пор, пока они не решат сделать версию GUI для Linux - или хотя бы добавить код OAuth, который запускает ваш браузер, чтобы установить авторизацию.

Я столкнулся с той же проблемой сегодня. В итоге для меня сработало скачивание и использование графического интерфейса GoodSync на компьютере с Windows и перенос окончательной конфигурации на мой компьютер с Linux.

В Windows я настроил свой Business OneDrive, следуя этим инструкциям. Затем я использовал функцию "экспорта выбранных заданий" в графическом интерфейсе (щелкните правой кнопкой мыши название задания), чтобы экспортировать jobs.tix файл. Это файл конфигурации, который вам нужен.

На Ubuntu вставьте jobs.tix подать в ~/.goodsync/ и отредактируйте его в текстовом редакторе, чтобы обновить URL-адрес на стороне клиента в соответствующей папке в локальной файловой системе. Наконец, просто беги gsync sync [jobname] синхронизировать все файлы. Это сработало для меня как вверх по течению, так и вниз по течению.

<Job>
 2 Name = "name"
 3 Side1 = <SideOptions>
 4 Dir = <Connect>
 5     Url = "file:///home/username/path/bla"
 6 </Connect>
 7 </SideOptions>
 8 Side2 = <SideOptions>
 9 Dir = <Connect>
10     Url = "msdrive://<compname>-my.sharepoint.com/_api/v2.0/me"
11     UserID = "myid+somegarbleinhex"
12     AccessToken = "blaaaah"
13     RefreshToken = "blaaahA"
14 </Connect>
15   UseTmpDestFile = No
16 </SideOptions>
17 Direction = 0
   ExcludeHidden = Yes
   ExcludeSystem = Yes
   DetectMovesAndRenames = Yes
   LinksOption = 1
   </Job>
Другие вопросы по тегам