c# - 从本地缓存文件获取 onedrive 文件 URL

标签 c# excel

我正在寻找一种方法来为缓存到本地 OneDrive 文件夹的文件派生 OneDrive 文件 URL?我唯一能想到的就是为我拥有的每个 OneDrive 文件夹硬编码一些根 URL,但这看起来很讨厌!

有谁知道可以根据本地文件路径查询 URL 的任何 OneDrive 客户端 API?

我的用例: 我正在尝试附加并打开 Excel 工作簿的实例。我曾经能够做到这一点 Marshal.BindToMoniker(_workbookPath);

但是,似乎 Excel 现在正在 ROT 中而不是本地文件路径中注册 OneDrive URL。这发生在为 Excel 2016 带来新的自动保存功能的更新中,我认为这似乎是我现有代码崩溃的时候。

这里有一个类似的悬而未决的问题:C# OneDrive for Business / SharePoint: get server path from locally synced file

最佳答案

可能想改用下面的键:

HKEY_CURRENT_USER\Software\SyncEngines\Providers\OneDrive

这包括以下注册表值: UrlNamespace:(SharePoint 站点 URL) MountPoint:(本地驱动位置)

它似乎确实包含不再同步的旧值 - 但不应该太难检查

HKEY_CURRENT_USER\Software\Microsoft\OneDrive\Accounts\Business1\ScopeIdToMountPointPathCache

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SyncRootManager

对于正在主动同步的路径。

关于c# - 从本地缓存文件获取 onedrive 文件 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46587062/

相关文章:

javascript - tableToExcel 在 IE 和 Firefox 中不起作用

c# - 使用 C# 创建的 UTF-8 CSV 文件在 Excel 中显示字符

c# - 将平面字典序列化为多子对象 JSON

c# - 是否有 "better"或 "better performance"循环遍历字典的方法

c# - 在不使用浏览器控件的情况下从字符串获取 HtmlDocument

c# - 使用计数方法

c# - OLEDB 读取 Excel 文件不适用于 IIS asp.net C#

r - 将大量行转换为一列?

javascript - Node.js 和 xlsjs 或 exceljs

python - 如何更改 Python 代码中的单元格格式?