Events Outlook加载项(日历事件):创建重复事件时的系列ID

Events Outlook加载项(日历事件):创建重复事件时的系列ID,events,calendar,series,outlook-web-addins,Events,Calendar,Series,Outlook Web Addins,我有一个Outlook加载项可用于日历新事件,并带有一个任务窗格 当我的任务窗格打开时,在我的JS代码中,我可以获得项目ID: Office.context.mailbox.item.itemId 如果事件是系列的一部分,我可以获得系列ID: Office.context.mailbox.item.seriesId 我的问题是,当我创建具有重复性的事件时,我想知道seriesId,但此时它似乎为空。只有在保存序列并且打开要编辑的项目(序列中的单个项目)时,我才能获取序列ID 我已经看

我有一个Outlook加载项可用于日历新事件,并带有一个任务窗格

当我的任务窗格打开时,在我的JS代码中,我可以获得项目ID:

  Office.context.mailbox.item.itemId
如果事件是系列的一部分,我可以获得系列ID:

  Office.context.mailbox.item.seriesId
我的问题是,当我创建具有重复性的事件时,我想知道seriesId,但此时它似乎为空。只有在保存序列并且打开要编辑的项目(序列中的单个项目)时,我才能获取序列ID

我已经看到,当我打开(编辑)序列中的单个项目时,项目ID和序列ID都有(不同的)值。 但是如果我打开整个系列(编辑),我没有系列ID,因为项目ID就是系列ID

因此,在创建事件时,我需要序列ID来保存这两个ID。然后,当我打开一个事件(要编辑)时,我可以检查它是我的系列的事件还是我的系列本身

有什么帮助吗

我正在使用Outlook 365 Web

提前感谢,


迭戈

在合成模式下获取序列Id的方法有

  • 如果您正在编辑序列中的事件,请使用序列ID
  • 使用
    saveAsync
    ,保存草稿系列,回调将返回项标识符,即序列ID

  • 谢谢你的回复。我看到在创建具有重复性的事件时,使用saveAsync获得的itemId变成了序列ID

    然后,当我编辑时:

    • 一个系列的单个事件,每个事件都有一个特定的itemID,该系列的所有项目都有相同的seriesID(创建该系列时的初始itemID)
    • 在该系列中,seriesID在这种情况下为空,因为itemID是原始itemID(即seriesID)
    • 一个系列的“事件”和以下事件“,seriesID为空,itemID为特定事件
    我怎么知道在第三种情况下我正在编辑我创建的系列(其中的一部分)?我不知道如何将此版本与我保存的初始序列ID关联。我可以认为这是一个单一的事件版本

    谢谢


    Diego

    您可以尝试为此使用重复API吗?您可以从get recurrence获取定期信息,如序列详细信息。这里有更多详细信息-当我使用递归api时,我总是得到null(Office.context.mailbox.item.recurrence.getAsync)。我把它贴在这里:你能试试下面的代码吗(这是考虑到你正试图以组织者的身份获取定期信息)-Office.context.mailbox.item.recurrence.getAsync(回调);函数回调(asyncResult){var context=asyncResult.context;var recurrence=asyncResult.value;if(recurrence==null){console.log(“非定期会议”);}否则{console.log(JSON.stringify(recurrence));}我是组织者。但这就是我在问题“63616869”中发布的问题:我总是得到recurrence=null,尽管我在事件中设置了例如“repeat every day”。。。使用“item.recurrence.getAsync”无法获取定期。。。在另一篇帖子中,我读到“…它已经被放在我们的待办事项中”,但我最后的评论没有回应。。。谢谢迭戈,很抱歉反应太晚。我们可以重现这个问题,我们正在努力解决它。同时,您可以尝试使用REST API获取会议的重复周期,作为解决方法: