C# OneDrive 商业版 / SharePoint:从本地同步的文件获取服务器路径

6
我正在编写一个WPF C#应用程序,想要获取本地同步文件的SharePoint URL。
在Windows资源管理器中,用户可以右键单击同步的OneDrive文件夹中的文件,选择“OneDrive for Business”菜单和“复制链接”。这提供了同步文件的SharePoint URL。有没有办法在C#中复制此操作?
目前,如果我从我的应用程序中使用FileOpenDialog引用文件,我只能获得本地物理路径(例如c:\ onedrive ... \ file.txt)。如何使用本地同步文件来获取SharePoint URL?
1个回答

0
我也在寻找一种解决方案,以获取OneDrive同步文件夹中SharePoint文件的URL。 我注意到在C:\Users\uidxxxxx\AppData\Local\Microsoft\OneDrive\settings\Business1{GUID}.ini下,您可以获得OneDrive同步文件夹和SharePoint GUID之间的映射。 例如:

libraryScope = 1 630c2a866d9c458b81060eff107887ed+1 5 "GUIDEs" "Documents" 4 "https://tenant.sharepoint.com/teams/team_10000035" "8d4b558f-7b2e-40ba-ad1f-e04d79e6265a" e0266a43caf347238f684bab486f4e51 e0d25dcb1a014f5f86d787984f6327c2 4f86b3e3e54e42e0bb0f7a58eadf0335 0 "" 0 4cde5c00-3fe3-4162-b831-d8ef440e1593 libraryFolder = 0 1 8bbfe07dfeff41cea7ab5da4a554592a+1 1558084235 "D:\DSUsers\uid41890\TenantName\GUIDEs - General" 2 "General" bd0c1b7c-2a1f-4492-8b1b-8e152c9e0c26

你也可以在注册表Computer\HKEY_CURRENT_USER\Software\Microsoft\OneDrive\Accounts\Business1\ScopeIdToMountPointPathCache中找到这个映射。

通过GUID,你可以使用SPWeb.GetFile(Guid)获取路径。 编辑:不幸的是,GetFile函数似乎只能在服务器端使用。

如果你能够创建一个独立的函数,给定本地OneDrive文件路径并返回SharePoint URL,我将非常感激你在这里分享你的解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接