【问题标题】:OfficeJS - Retrieving document IDOfficeJS - 检索文档 ID
【发布时间】:2018-01-11 23:04:44
【问题描述】:

我们需要检索一个唯一标识文档的 ID,以便当用户在不同会话(甚至相隔一年)中打开同一个文档时,我们可以在日志中识别它。

在 API 中,我找到了 DocumentURL,但这可能会改变(如果文档被移动?),它甚至可能是空的(如果文档从未在线存储?)。我们可以对 Author 和 Date Created 等属性的组合进行哈希处理,但这些属性也可以更改,因此不能完全依赖。

我们如何访问文档的 ID?理想情况下,我们正在寻找一种适用于任何类型文档的解决方案,但如果目前 Word 文档只有这样的属性,那也足够了。

编辑:添加需要工作的场景,否则我的请求似乎太简单了(因此投反对票?):

  1. 用户可以打开、编辑、保存等其他文档,并且每个文档的 ID 应始终相同。同样,如果用户与其他人共享文档,则其他用户(在运行我们的加载项时)读取的 ID 应该与该文档的所有者相同。

  2. 加载项需要可移植并可在多个平台上使用。当用户在 Word Online 和 Win 32、不同计算机等上打开同一个文档时,该文档的 ID 必须始终相同。

【问题讨论】:

    标签: ms-word office-js office-addins


    【解决方案1】:

    要创建一个唯一的 ID,只需要一点 JavaScript 就可以创建一个 GUID。例如,请参阅此 SO 帖子:Create GUID/UUID in JavaScript

    要存储 ID,您可以使用自定义设置或自定义属性。见Persist State and Settings

    【讨论】:

    • 感谢您的回复。持久存储是否适用于该文档的所有平台和访问路径?例如如果该文档是在 Win32 或 WAC 上打开的,或者我与其他人共享它并且他们打开它,那么存储的 ID 是否会在所有这些情况下保持不变?
    • 根据您提供的链接中的信息,是的。在 Word 中,它似乎存储为自定义文档属性 - 随文档一起移动。顺便说一句,它也可以通过 Word UI 访问,以防万一这对您很重要......
    • 谢谢! Office 文档已经有一个 ID 属性,所以我希望使用它而不是创建一个额外的 ID,这似乎是一种不必要的解决方法。我可以想象大量需要识别文档的场景,所以如果 API 也可以集成它会很棒。不过,这暂时可以使用!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多