C#OneDrive for Business / SharePoint:从本地同步文件获取服务器路径

时间:2017-06-07 15:01:04

标签: c# wpf sharepoint onedrive

我正在编写WPF C#应用程序,并希望获取本地同步文件的SharePoint URL。

在Windows资源管理器中,用户可以右键单击已同步的OneDrive文件夹中的文件,选择" OneDrive for Business"菜单和"复制链接"。这提供了同步文件的SharePoint URL。有没有办法在C#中复制它?

目前,如果我使用我的应用程序中的FileOpenDialog引用该文件,我只获得本地物理路径(例如c:\ onedrive ... \ file.txt)。如何使用本地同步文件来获取SharePoint URL?

1 个答案:

答案 0 :(得分:0)

我还在寻找一种解决方案,用于在OneDrive同步文件资源管理器中将SharePoint网址获取到文件。 我注意到您在C:\ Users \ uid41890 \ AppData \ Local \ Microsoft \ OneDrive \ settings \ Business1 {GUID} .ini下获得OneDrive同步文件夹和SharePoint GUID之间的映射 示例:

libraryScope = 1 630c2a866d9c458b81060eff107887ed+1 5 "GUIDEs" "Documents" 4 "https://continental.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\Continental AG\GUIDEs - General" 2 "General" bd0c1b7c-2a1f-4492-8b1b-8e152c9e0c26

您在注册表Computer \ HKEY_CURRENT_USER \ Software \ Microsoft \ OneDrive \ Accounts \ Business1 \ ScopeIdToMountPointPathCache中也具有此映射

在GUID中,您可以使用SPWeb.GetFile(Guid)来获取路径 编辑:不幸的是,GetFile函数似乎仅在服务器端可用。

如果您可以为给出返回SharePoint URL的本地OneDrive文件路径的独立功能,请在这里分享您的解决方案。