Onenote API 和 Onenote Interop
Onenote API and Onenote Interop
Gday.
我熟悉使用 OneNote Interop 类 为 OneNote 桌面版(2007、2010、2013)access/edit 存储在目录中的笔记本编写代码
现在 OnenoteAPI 已用于基于云的 OneNote(Win RT OneNote、WinPhone OneNote 等),我对使用哪个感到困惑。
我正在尝试构建一个使用 Onenote 来存储一些笔记的应用程序。这些笔记通常可以从城市中的几个地方访问,也许还可以从一些移动计算机访问。使用 Interop 方法,我已经有了一个解决方案,可以(从字面上)在移动计算机外出之前将一些笔记本复制到移动计算机上,然后 return 将它们合并回来。
但是,我想使用 "the cloud" 作为存储选项,而不是将笔记本存储在一个通常通过大量 VPN 访问的中央位置。这是因为一些客户会对云感到满意(并且没有自己的服务器),而其他客户则希望至少拥有一份数据副本,并使用云作为提高移动性的手段。
现在,我还没有四处实施或尝试。我正在向可能做过类似事情的人寻求建议。特别是,我想advice/hints/clues了解如何:
从与 Interop 兼容的 OnenoteAPI 格式中提取笔记本页面内容。同样,将其从 Interop 推送回 OnenoteAPI。或者,我能否以某种方式 "export" 云笔记本的副本并稍后导入?
昂贵的 SharePoint 会在某些方面有所帮助吗?免费的build-into-small-office-server版本是否足够?
感谢互联网。
N.b。考虑到可能造成混淆,我将仅适用于 Win32 的 OneNote API 称为 "OneNote COM API",将现代的、基于 Web 且仅适用于 OneDrive 的 REST API 称为 "OneNote REST API"
关于 #1:我们通过 OneNote REST API 公开的 OneNote 页面的 HTML 版本没有到通过公开的 OneNote 对象模型的 1:1 映射COM API;这使得它们之间的互操作变得困难。此外,它们都不是为支持完全保真同步体验而设计的——这是一个棘手的问题,通常人们对 OneNote 提供的开箱即用的体验非常满意。
关于 #2:SharePoint 可以 解决您的问题。当您的用户在办公室时,OneNote 会将其所有更改同步到 SharePoint 并接收它在与 Intranet 断开连接时丢失的增量。如果客户需要移动性,您可以打开 SharePoint 以进行 Web 访问。然后,您可以使用 COM API 针对桌面 OneNote 客户端构建您的应用程序,并依靠 OneNote 本身来处理同步。
这里需要注意的是,并非 OneNote 的所有 SKU 都支持访问 SharePoint 笔记本;作为 Office 套件的一部分购买的 Win32 客户端可以,附加到 Office365 订阅的任何副本也可以,包括 Mac、iOS 和 Android。据我所知,Windows Phone 没有任何此类限制。
彼得更新。 OneNote 云 API 现在支持将 Sharepoint Online 作为存储端点。
这是一个很老的问题,但如果有人正在阅读它,我可以添加以下内容:
OneNote + OneDrive 在同步在多个设备(包括 PC 和手机)上打开的笔记本方面表现出色。
我为@Peter pete 推荐的解决方案是将他的旧 COM OneNote 迁移到 OneDrive。
Gday.
我熟悉使用 OneNote Interop 类 为 OneNote 桌面版(2007、2010、2013)access/edit 存储在目录中的笔记本编写代码
现在 OnenoteAPI 已用于基于云的 OneNote(Win RT OneNote、WinPhone OneNote 等),我对使用哪个感到困惑。
我正在尝试构建一个使用 Onenote 来存储一些笔记的应用程序。这些笔记通常可以从城市中的几个地方访问,也许还可以从一些移动计算机访问。使用 Interop 方法,我已经有了一个解决方案,可以(从字面上)在移动计算机外出之前将一些笔记本复制到移动计算机上,然后 return 将它们合并回来。
但是,我想使用 "the cloud" 作为存储选项,而不是将笔记本存储在一个通常通过大量 VPN 访问的中央位置。这是因为一些客户会对云感到满意(并且没有自己的服务器),而其他客户则希望至少拥有一份数据副本,并使用云作为提高移动性的手段。
现在,我还没有四处实施或尝试。我正在向可能做过类似事情的人寻求建议。特别是,我想advice/hints/clues了解如何:
从与 Interop 兼容的 OnenoteAPI 格式中提取笔记本页面内容。同样,将其从 Interop 推送回 OnenoteAPI。或者,我能否以某种方式 "export" 云笔记本的副本并稍后导入?
昂贵的 SharePoint 会在某些方面有所帮助吗?免费的build-into-small-office-server版本是否足够?
感谢互联网。
N.b。考虑到可能造成混淆,我将仅适用于 Win32 的 OneNote API 称为 "OneNote COM API",将现代的、基于 Web 且仅适用于 OneDrive 的 REST API 称为 "OneNote REST API"
关于 #1:我们通过 OneNote REST API 公开的 OneNote 页面的 HTML 版本没有到通过公开的 OneNote 对象模型的 1:1 映射COM API;这使得它们之间的互操作变得困难。此外,它们都不是为支持完全保真同步体验而设计的——这是一个棘手的问题,通常人们对 OneNote 提供的开箱即用的体验非常满意。
关于 #2:SharePoint 可以 解决您的问题。当您的用户在办公室时,OneNote 会将其所有更改同步到 SharePoint 并接收它在与 Intranet 断开连接时丢失的增量。如果客户需要移动性,您可以打开 SharePoint 以进行 Web 访问。然后,您可以使用 COM API 针对桌面 OneNote 客户端构建您的应用程序,并依靠 OneNote 本身来处理同步。
这里需要注意的是,并非 OneNote 的所有 SKU 都支持访问 SharePoint 笔记本;作为 Office 套件的一部分购买的 Win32 客户端可以,附加到 Office365 订阅的任何副本也可以,包括 Mac、iOS 和 Android。据我所知,Windows Phone 没有任何此类限制。
彼得更新。 OneNote 云 API 现在支持将 Sharepoint Online 作为存储端点。
这是一个很老的问题,但如果有人正在阅读它,我可以添加以下内容: OneNote + OneDrive 在同步在多个设备(包括 PC 和手机)上打开的笔记本方面表现出色。
我为@Peter pete 推荐的解决方案是将他的旧 COM OneNote 迁移到 OneDrive。