【问题标题】:C# OneDrive for Business / SharePoint: get server path from locally synced fileC# OneDrive for Business / SharePoint:从本地同步文件中获取服务器路径
【发布时间】:2017-11-09 00:30:31
【问题描述】:

我正在编写一个 WPF C# 应用程序,并且想要获取本地同步文件的 SharePoint URL。

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

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

【问题讨论】:

    标签: c# wpf sharepoint onedrive


    【解决方案1】:

    我还在寻找一种将 SharePoint url 获取到 OneDrive 同步文件资源管理器中的文件的解决方案。 我注意到您在 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 文件路径的情况下创建一个独立函数,我将非常感谢您在这里分享您的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-28
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多