修改重复序列中的单个事件不会反映在从 Rest API 读取的数据中

2023-12-14

当您在 Office365 Outlook 中创建正在发生的事件并修改任何单个事件(编辑事件)时,更改永远不会反映在 REST API 使用的数据中。不会创建重复异常(新事件),并且系列主数据没有更改任何单个字段。

预期的行为是 SeriesMaster 包含异常列表(例如按日期),并且每个异常将创建为新的单独事件并链接到重复头(例如:SeriesMasterId)。

{
    "@odata.id ": "https: //outlook.office365.com/api/v1.0/Users('----')",
    "@odata.etag": "----",
    "Id": "----",
    "ChangeKey": "----",
    "Categories": [],
    "DateTimeCreated": "2015-05-27T13:36:11.9330924Z",
    "DateTimeLastModified": "2015-05-27T13:44:16.2212804Z",
    "Subject": "EVRY DAY INTERVAL WITH EXCEPTIONS",
    "BodyPreview": "",
    "Body": {
        "ContentType": "HTML",
        "Content": "Example content"
    },
    "Importance": "Normal",
    "HasAttachments": false,
    "Start": "2015-04-28T00:00:00Z",
    "StartTimeZone": "UTC",
    "End": "2015-04-29T00:00:00Z",
    "EndTimeZone": "UTC",
    "Reminder": null,
    "Location": {
        "DisplayName": "",
        "Address": {
            "Street": "",
            "City": "",
            "State": "",
            "CountryOrRegion": "",
            "PostalCode": ""
        },
        "Coordinates": {
            "Accuracy": "NaN",
            "Altitude": "NaN",
            "AltitudeAccuracy": "NaN",
            "Latitude": "NaN",
            "Longitude": "NaN"
        }
    },
    "ResponseStatus": {
        "Response": "Organizer",
        "Time": "0001-01-01T00:00:00Z"
    },
    "ShowAs": "Free",
    "IsAllDay": true,
    "IsCancelled": false,
    "IsOrganizer": true,
    "ResponseRequested": true,
    "Type": "SeriesMaster",
    "SeriesMasterId": null,
    "Attendees": [],
    "Recurrence": {
        "Pattern": {
            "Type": "Daily",
            "Interval": 2,
            "Month": 0,
            "Index": "First",
            "FirstDayOfWeek": "Sunday",
            "DayOfMonth": 0
        },
        "Range": {
            "Type": "NoEnd",
            "StartDate": "2015-04-28T00:00:00+03:00",
            "EndDate": "0001-01-01T00:00:00Z",
            "NumberOfOccurrences": 0
        }
    },
    "Organizer": {
        "EmailAddress": {
            "Address": "----",
            "Name": "----"
        }
    },
    "iCalUId": "----",
    "WebLink": "----"
}

任何人都可以对此进行一些说明吗?目前,从 Rest API 消耗的整个 Recurrence 对象看起来(对此表示歉意)不完整且无用(但我在每一步上都遇到了障碍)。

还有我可以直接向 API 开发团队报告问题的地方吗?


异常和事件实际上并没有暴露在Recurrence目的。为了查看个别事件或异常,您需要使用日历视图端点。这会导致 Exchange 扩展指定时间范围内的重复事件,并返回单个事件或异常。这是必要的,因为单个事件/异常并不作为实际事件存在于日历中,它们源自系列主数据。如果你只是执行 GET 操作/Me/Events,你永远不会看到他们!

例如,我在日历上创建了一个重复事件,然后将其中一个事件修改为在不同时间发生(这使其成为例外)。

执行 GET 操作/Me/Events:

{
  "@odata.context": "https://outlook.office365.com/api/v1.0/$metadata#Me/Events",
  "value": [
    {
      "@odata.id": "https://outlook.office365.com/api/v1.0/Users('[email protected]')/Events('AAMkADRmMDExYzhjLWYyNGMtNDZmMC1iZDU4LTRkMjk4YTdjMjU5OABGAAAAAABp4MZ-5xP3TJnNAPmjsRslBwAoPBSqxXQOT6tuE0pxCMrtAAAAAAENAAAoPBSqxXQOT6tuE0pxCMrtAAC5xYC1AAA=')",
      "@odata.etag": "W/\"KDwUqsV0Dk+rbhNKcQjK7QAAucdOPw==\"",
      "Id": "AAMkADRmMDExYzhjLWYyNGMtNDZmMC1iZDU4LTRkMjk4YTdjMjU5OABGAAAAAABp4MZ-5xP3TJnNAPmjsRslBwAoPBSqxXQOT6tuE0pxCMrtAAAAAAENAAAoPBSqxXQOT6tuE0pxCMrtAAC5xYC1AAA=",
      "ChangeKey": "KDwUqsV0Dk+rbhNKcQjK7QAAucdOPw==",
      "Categories": [],
      "DateTimeCreated": "2015-05-28T13:39:06.310974Z",
      "DateTimeLastModified": "2015-05-28T13:39:21.0300106Z",
      "Subject": "Exception test",
      "BodyPreview": "​",
      "Body": {
        "ContentType": "HTML",
        "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<style type=\"text/css\" style=\"display:none;\"><!-- P {margin-top:0;margin-bottom:0;} --></style>\r\n</head>\r\n<body dir=\"ltr\">\r\n<div id=\"divtagdefaultwrapper\" style=\"font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;\">\r\n<p>​<br>\r\n</p>\r\n</div>\r\n</body>\r\n</html>\r\n"
      },
      "Importance": "Normal",
      "HasAttachments": false,
      "Start": "2015-05-28T20:00:00Z",
      "StartTimeZone": "Eastern Standard Time",
      "End": "2015-05-28T20:30:00Z",
      "EndTimeZone": "Eastern Standard Time",
      "Reminder": 15,
      "Location": {
        "DisplayName": "My Office",
        "Address": {
          "Street": "",
          "City": "",
          "State": "",
          "CountryOrRegion": "",
          "PostalCode": ""
        },
        "Coordinates": {
          "Accuracy": "NaN",
          "Altitude": "NaN",
          "AltitudeAccuracy": "NaN",
          "Latitude": "NaN",
          "Longitude": "NaN"
        }
      },
      "ResponseStatus": {
        "Response": "Organizer",
        "Time": "0001-01-01T00:00:00Z"
      },
      "ShowAs": "Busy",
      "IsAllDay": false,
      "IsCancelled": false,
      "IsOrganizer": true,
      "ResponseRequested": true,
      "Type": "SeriesMaster",
      "SeriesMasterId": null,
      "Attendees": [],
      "Recurrence": {
        "Pattern": {
          "Type": "Daily",
          "Interval": 1,
          "Month": 0,
          "Index": "First",
          "FirstDayOfWeek": "Sunday",
          "DayOfMonth": 0
        },
        "Range": {
          "Type": "EndDate",
          "StartDate": "2015-05-28T00:00:00-04:00",
          "EndDate": "2015-06-04T00:00:00-04:00",
          "NumberOfOccurrences": 0
        }
      },
      "Organizer": {
        "EmailAddress": {
          "Address": "[email protected]",
          "Name": "Jason Johnston"
        }
      },
      "iCalUId": "040000008200E00074C5B7101A82E008000000006CACEEAA4B99D0010000000000000000100000009478C61D36C90847B5F3C126ACB0A17E",
      "WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkADRmMDExYzhjLWYyNGMtNDZmMC1iZDU4LTRkMjk4YTdjMjU5OABGAAAAAABp4MZ%2F5xP3TJnNAPmjsRslBwAoPBSqxXQOT6tuE0pxCMrtAAAAAAENAAAoPBSqxXQOT6tuE0pxCMrtAAC5xYC1AAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
    }
  ]
}

执行 GET 操作/Me/CalendarView发生异常的当天(请注意"Type": "Exception" field):

GET /Me/CalendarView?startDateTime=2015-05-30T04:00:00Z&endDateTime=2015-05-31T04:00:00Z

{
  "@odata.id": "https://outlook.office365.com/api/v1.0/Users('[email protected]')/Events('AAMkADRmMDExYzhjLWYyNGMtNDZmMC1iZDU4LTRkMjk4YTdjMjU5OAFRAAgI0miCtL1AAEYAAAAAaeDGf_cT90yZzQD5o7EbJQcAKDwUqsV0Dk_rbhNKcQjK7QAAAAABDQAAKDwUqsV0Dk_rbhNKcQjK7QAAucWAtQAAEA==')",
  "@odata.etag": "W/\"KDwUqsV0Dk+rbhNKcQjK7QAAucdOPw==\"",
  "Id": "AAMkADRmMDExYzhjLWYyNGMtNDZmMC1iZDU4LTRkMjk4YTdjMjU5OAFRAAgI0miCtL1AAEYAAAAAaeDGf_cT90yZzQD5o7EbJQcAKDwUqsV0Dk_rbhNKcQjK7QAAAAABDQAAKDwUqsV0Dk_rbhNKcQjK7QAAucWAtQAAEA==",
  "ChangeKey": "KDwUqsV0Dk+rbhNKcQjK7QAAucdOPw==",
  "Categories": [],
  "DateTimeCreated": "2015-05-28T13:39:20.9676251Z",
  "DateTimeLastModified": "2015-05-28T13:39:20.9676252Z",
  "Subject": "Exception test",
  "BodyPreview": "​",
  "Body": {
    "ContentType": "HTML",
    "Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<style type=\"text/css\" style=\"display:none;\"><!-- P {margin-top:0;margin-bottom:0;} --></style>\r\n</head>\r\n<body dir=\"ltr\">\r\n<div id=\"divtagdefaultwrapper\" style=\"font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;\">\r\n<p>​<br>\r\n</p>\r\n</div>\r\n</body>\r\n</html>\r\n"
  },
  "Importance": "Normal",
  "HasAttachments": false,
  "Start": "2015-05-30T20:30:00Z",
  "StartTimeZone": "Eastern Standard Time",
  "End": "2015-05-30T21:00:00Z",
  "EndTimeZone": "Eastern Standard Time",
  "Reminder": 15,
  "Location": {
    "DisplayName": "My Office",
    "Address": {
      "Street": "",
      "City": "",
      "State": "",
      "CountryOrRegion": "",
      "PostalCode": ""
    },
    "Coordinates": {
      "Accuracy": "NaN",
      "Altitude": "NaN",
      "AltitudeAccuracy": "NaN",
      "Latitude": "NaN",
      "Longitude": "NaN"
    }
  },
  "ResponseStatus": {
    "Response": "Organizer",
    "Time": "0001-01-01T00:00:00Z"
  },
  "ShowAs": "Busy",
  "IsAllDay": false,
  "IsCancelled": false,
  "IsOrganizer": true,
  "ResponseRequested": true,
  "Type": "Exception",
  "SeriesMasterId": "AAMkADRmMDExYzhjLWYyNGMtNDZmMC1iZDU4LTRkMjk4YTdjMjU5OABGAAAAAABp4MZ-5xP3TJnNAPmjsRslBwAoPBSqxXQOT6tuE0pxCMrtAAAAAAENAAAoPBSqxXQOT6tuE0pxCMrtAAC5xYC1AAA=",
  "Attendees": [],
  "Recurrence": null,
  "Organizer": {
    "EmailAddress": {
      "Address": "[email protected]",
      "Name": "Jason Johnston"
    }
  },
  "iCalUId": "040000008200E00074C5B7101A82E00807DF051E6CACEEAA4B99D0010000000000000000100000009478C61D36C90847B5F3C126ACB0A17E",
  "WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkADRmMDExYzhjLWYyNGMtNDZmMC1iZDU4LTRkMjk4YTdjMjU5OAFRAAgI0miCtL1AAEYAAAAAaeDGf%2BcT90yZzQD5o7EbJQcAKDwUqsV0Dk%2BrbhNKcQjK7QAAAAABDQAAKDwUqsV0Dk%2BrbhNKcQjK7QAAucWAtQAAEA%3D%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
}

此外,这是一个直接向我们报告问题的绝佳论坛。只要你的标签outlook-restapi,我们会看到的! :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

修改重复序列中的单个事件不会反映在从 Rest API 读取的数据中 的相关文章

随机推荐

  • 如何更改 Activity 中的片段文本视图文本

    我找不到如何更改片段的textview从一个Activity 我有 4 个文件 MainActivity java activity main xml FragmentClass java frag class xml frag class
  • 开发证书推送通知

    如何向在开发配置文件下运行的构建发送推送通知 谁能帮帮我吗 您应该使用您的开发版本证书在 Apple Push Notification Center 上进行身份验证 要测试推送通知 您可以使用 MacOs 应用程序 推我宝贝 完整的使用教
  • pandas 日期转字符串

    我有一个约会时间pandas Series 一栏称为 日期 我想在像字符串一样的循环中获取 i 元素 s apply lambda x x strftime Y m d or astype str tail 1 reset index da
  • Java 数据库连接

    我有一个java项目 其中有许多连接到数据库的文件 谁能告诉我是否可以使用 java 类文件连接到数据库 这样我就不会为每个文件创建数据库连接 请教我如何操作 感谢您的帮助 D 这是我使用的代码 但它不起作用 dbConnect java
  • 在 Django 中,如何向用户发送登录后消息?

    我有一个 Django 网站 当用户登录时 我会向他们显示一条成功消息 我使用如下信号来执行此操作 def post login actions sender user request kwargs messages success req
  • 使用 OpenSL 进行通话录音

    自从 Galaxy S5 中的棒棒糖更新后 我尝试修复应用程序中的通话录音 作为基础 我使用这里的谷歌示例项目 Sample 这是代码的主要部分 AudioRecorder AudioRecorder SampleFormat sample
  • 使用D3多次更新表不起作用

    我有一个页面需要加载新数据并使用 d3 将其更新为现有表元素 我正在写以下内容但没有用 completeTableData head1 va1 head2 val2 haed1 val4 head2 val5 var tr d3 selec
  • Android 上的新电子邮件通知

    有没有办法让应用程序在收到新电子邮件时收到通知 我的目标是 如果收到具有特定主题的电子邮件 将其视为 过滤器 或 规则 则发出警报 播放声音 振动等 但我不想检查电子邮件我自己做服务器 我想我正在寻找类似 android telephony
  • 如何在android中从图库中选择多张图像?

    我正在制作一个项目 我想从图库中选择多张照片并将其保存在图像视图数组中 我可以导入单个图像并保存在 imageview 谁能告诉我如何导入多个图像并保存在数组或不同的图像视图中 MainActivity extends Activity i
  • 点击式 tkinter 窗口

    该函数复制自使用 TkInter 绑定设置不可交互 点击 覆盖 不仅窗口无法点击 PNG 也不透明 PNG在这里 https drive google com file d 1tlLl2hjPq38mc c PpMhkKDlP1HqvDY5
  • 加速插值练习

    我正在对大约 120 万个观测值运行大约 45 000 个局部线性回归 本质上 所以我希望得到一些帮助来加快速度 因为我很不耐烦 我基本上是在尝试为一堆公司构建逐年的工资合同 工资函数 给定公司 年份 职位的经验 这是我正在使用的数据集 基
  • 将字段值连接到 SQL Server 中的字符串

    我需要一个与Oracle类似的功能WM CONCAT在 SQL Server 中 它返回一个逗号分隔的列表 其中包含您作为参数传递的任何字段 例如 在 Oracle 中 select WM CONCAT first name from em
  • Visual Studio 中“ID 为 #### 的进程未运行”

    我尝试在 Visual Studio 2013 update 3 上运行任何程序 并收到以下警告框 ID 为 的进程未运行 每次都会显示不同的身份证号码 在错误窗口中 我收到以下错误消息 程序 3148 iisexpress exe 已退出
  • 在当前日期中添加一年 PYTHON

    我已经取了一个date from database与以下variable i operation date 我得到了这样的值 April 1 2013 我需要在上面加上一年 这样我就可以得到 April 1 2014 请建议 我该怎么做 A
  • Oracle SYS_REFCURSOR 无法用作返回类型

    我需要使用 oracle 11g 中的成员函数提取并显示 db 中所有记录的所有年份 CREATE or replace TYPE BODY student t AS MEMBER FUNCTION getYear RETURN SYS R
  • 通过使用键作为值来反序列化 Jackson

    我有一个与此类似的 JSON 结构 teams team1Id team1Name team2Id team2Name 我想将其反序列化为这些 Java 类 class Teams Team team1 Team team2 class T
  • 使用 AVPlayer 和 AVMutableComposition 的声音播放未对齐

    我正在尝试使用多个乐器样本创建一首歌曲AV合成 当我播放两个声音资源时kCMTimeZero in an AVMutableComposition 我希望他们同时玩 但有一个非常轻微的偏移 这种情况只发生在第一次玩游戏时 所以这似乎是某种加
  • python 中变量的 ast.literal_eval ?

    假设我有一个文件example py 导入示例 VVV 2 DictionaryNameB a VVV bb SomethingB c False ccc None dddd true eeeee 0 123456 f 2 h 1 2 3
  • Android NestedScrollView 在 ListView 中仅显示一项

    有人知道我的布局有什么问题吗 我无法弄清楚为什么我的 ListView 只显示一项 布局 xml
  • 修改重复序列中的单个事件不会反映在从 Rest API 读取的数据中

    当您在 Office365 Outlook 中创建正在发生的事件并修改任何单个事件 编辑事件 时 更改永远不会反映在 REST API 使用的数据中 不会创建重复异常 新事件 并且系列主数据没有更改任何单个字段 预期的行为是 SeriesM