【问题标题】:Duplicate event IDs in MS Graph APIMS Graph API 中的重复事件 ID
【发布时间】:2020-09-13 16:40:17
【问题描述】:

我遇到了与here 报告的相同问题,但我似乎找不到后续问题。为了完整起见,这是此人报告的内容,与我的问题相同:

“我们正在将 日历事件 id 存储在我们的数据库中,并注意到为图表设置了重复的 Id。也许我们需要使用 iCalUid它仍然是唯一的,尽管我们不应该在 Microsoft 文档中使用它。此外,通过 iCalUid 请求事件需要通过可选参数进行过滤,而事件的 Get 方法仅使用 Id。同样,不是那么明显.

复制步骤:

  • 编写一个控制台应用程序并创建 x 个具有相同开始、结束、所有者、主题、位置等的事件。
  • 使用 5 个事件运行一次。然后用 5 个事件再次运行它。
  • 最后,再次运行 100 个事件。

您应该会看到前 2 个批次的 id 出现在第 3 个(更大的)批次中。”

我的想法很新鲜。没有例外,一切看起来都很正常,但是当我们创建大量具有大致相同属性的事件(开始时间和结束时间可能不同)时,我们会得到重复的事件 ID。

我们如何解决这个重复的事件 ID 问题?

【问题讨论】:

    标签: microsoft-graph-api


    【解决方案1】:

    我可能找到了罪魁祸首:不区分大小写的数据库。我必须进行调查,但似乎 ID 使用小写和大写字母增加了其键的一部分。除了RAAA=rAAA= 之类的一个字母之外,某些事件ID 完全相同。

    向 SQL 列添加区分大小写的排序规则似乎可以解决问题:

    [EventId] NVARCHAR(450) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL

    不确定这是否是真正的原因和/或解决方案,但突然间我们所有的错误都消失了。

    【讨论】:

    • 当心在打开“强制唯一值”的情况下尝试将这些 ID 存储在 SharePoint 列表列中 - 比较不区分大小写。
    猜你喜欢
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多