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

Я попробовал решение, предложенное Sayed Metwaly (Как Синхронизировать Бизнес OneDrive / 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)

Какая-либо идея о том, что я сделал неправильно?Спасибо

0
задан 13 April 2017 в 15:23

3 ответа

Сегодня я столкнулся с той же проблемой. Что работало на меня в конце, должно было загрузить и использовать GoodSync GUI на машине Windows и портировать заключительную конфигурацию на мою машину Linux.

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

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

1
ответ дан 28 September 2019 в 12:36
<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>
0
ответ дан 28 September 2019 в 12:36

Вот то, что я сделал для получения его работающий очень быстро:

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

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

2
ответ дан 28 September 2019 в 12:36

Другие вопросы по тегам:

Похожие вопросы: