如何在Linux(Ubuntu)上同步OneDrive Business(Office 365)?
我尝试了Sayed Metwaly提出的解决方案( 如何在Linux上同步OneDrive Business / Office 365? )但我收到以下错误消息:
=== 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)
关于我做错了什么的任何想法? 谢谢
以下是我为使其快速工作所做的工作:
- 使用Windows计算机使用Windows版本的Goodsync设置同步。 这包括使用Office 365设置(基于浏览器的)授权。
- 使用Windows版本的Goodsync中的“导出”选项来创建
jobs.tix
文件。 - 在Linux机器上创建了一个
~/.goodsync
文件夹。 - 将
jobs.tix
文件放在该文件夹中。 - 这是我必须自己发现的新步骤:将
jobs.tix
文件重jobs.tix
为jobs-groups-options.tix
– 这允许使用整个配置。 - 应用以下更改,如原始Windows
jobs.tix
文件中的diff
输出所示:$ diff~ / Downloads / jobs.tix~ / .goodsync / jobs-groups-options.tix 51c51
Url =“file:/// home / tomh / onedrive” 54c54 Url =“file:/// home / tomh / onedrive” 68c68 <} Bookmarks = {} TimeStamp = 013061702176 --- >} Bookmarks = {} 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
行,我只是将它们保留为完整性。 请注意,除了用相应的HTML实体替换某些字符外, 不会以任何方式清理或更改此diff
输出。 所以,是的,您现在都知道我的Windows和Linux用户名以及OneDrive同步文件夹。 看不出这会如何影响我的安全性,并且它提高了它没有错字的可能性。 - 我改变了一个不起眼的东西使它工作:你会在文件中找到这两行:
Side2 =
Conn = <连接> 我更改了第二行如下:
Side2 =
Dir = 它立即开始工作。
免责声明:在我运行同步(下一步)后,Goodsync将线路更改回Conn =
。 所以我错了。 也许我可以把它原样(并且再次)。 但这是我在开始工作之前所做的最后一次改变。 完全可能的是,我在改变其他东西的同时改变了它。 但至少做出改变并没有 让我失望:) - 运行同步
gsync同步“Onedrive”
用“Onedrive”代替看起来像这样的线条中的任何内容:
工作= {<工作> 名称=“Onedrive”
我相信,使用OAuth的API v2.0要求使得无法简单地使用其他人的jobs-groups-options.tix
文件,并使其仅使用Linux就能使用。 也就是说,直到他们决定为Linux制作GUI版本 – 或者至少添加启动浏览器以建立授权的OAuth代码。
我今天遇到了同样的问题。 最终对我有用的是在Windows机器上下载和使用GoodSync GUI,并将最终配置移植到我的Linux机器上。
在Windows上,我按照这些说明配置了Business OneDrive。 接下来,我使用GUI的“导出所选作业”function(右键单击作业名称)来导出jobs.tix
文件。 这是您需要的配置文件。
在Ubuntu上,将jobs.tix
文件粘贴到~/.goodsync/
,然后在文本编辑器中对其进行编辑,以将客户端URL更新到本地文件系统中的相应文件夹。 最后,只需运行gsync sync [jobname]
即可同步所有文件。 这对我来说都适用于上游和下游。
2 Name = "name" 3 Side1 = 4 Dir = 5 Url = "file:///home/username/path/bla" 6 7 8 Side2 = 9 Dir = 10 Url = "msdrive://-my.sharepoint.com/_api/v2.0/me" 11 UserID = "myid+somegarbleinhex" 12 AccessToken = "blaaaah" 13 RefreshToken = "blaaahA" 14 15 UseTmpDestFile = No 16 17 Direction = 0 ExcludeHidden = Yes ExcludeSystem = Yes DetectMovesAndRenames = Yes LinksOption = 1