【问题标题】:Custom Event ID自定义事件 ID
【发布时间】:2018-12-30 19:39:20
【问题描述】:

在 Outlook 日历中创建事件时,您会得到一个生成的事件 ID,并使用它可以更新您创建的任何事件,如 here 所述,通过将 eventId 存储在某个表中并在更新事件时使用它,我的问题是:是否可以像在谷歌日历here 中那样自行设置该事件 ID,这样我就不需要跟踪事件 ID,因为它会在您每次创建/更新并在我的数据库中创建另一个列时发生变化?

【问题讨论】:

  • 似乎无法在 Outlook 日历中设置事件 ID

标签: exchange-server microsoft-graph-api


【解决方案1】:

eventid 是基于其元数据计算得出的哈希值。当一个项目(日期、文件夹、日历等)被移动时,id改变。

对于跟踪,您应该使用event 中的iCalUId 属性。这是一个有保证的唯一值,永远不会改变。虽然您无法定义自己的值,但此 GUID 的存储绝对安全,可用于使用 $filter=iCalUId eq '{GUID}' 查询参数从 Microsoft Graph 中调用 event

此外,与 id 不同,值 对与会者也可用(并且是静态的)(如果与会者使用 GMail,Google 将在他们的末尾保持相同的 iCalUId 值)。

【讨论】:

  • 我想在创建活动时创建自己的 id 的原因是在将工作计划从客户端导出到 Outlook 日历时,我必须为两个表创建一个新列,我很担心处理时间,我也忘了提到在某些情况下我会生成“工作”时间表,用户可以更改整个星期或一个月,而我不存储这些值。我可以将“iCalUId”存储在我已经拥有的表格中,并将该功能转换为可能在夜间活动的工作人员,但我担心我生成时间表的情况,我无事可做
  • 顺便感谢关于eventId的解释,可能是一个令人尴尬的错误报告哈哈,我现在将其更改为将iCalUId值存储在数据库中,感觉this文档应该更新
  • 决定为使用我的应用程序创建的事件创建一个新类别,对其进行过滤,在发布到 Outlook 之前删除,这样我就不需要存储任何数据。破解版,但工作哈哈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-09
  • 1970-01-01
  • 2020-02-27
  • 1970-01-01
  • 2012-12-10
  • 2018-03-20
  • 2014-02-27
相关资源
最近更新 更多