You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PATCH方法替换日历事件中Zoom为Google Meet时遇无效会议数据错误

问题描述

现有一个关联Zoom会议的Google日历事件,完整JSON数据如下:

{"created": "2024-01-31T11:06:52.000Z","updated": "2024-02-01T07:51:44.349Z","summary": "Sample Event","start": { "dateTime": "2024-02-01T18:00:00+02:00", "timeZone": "Europe/Tallinn"},"end": { "dateTime": "2024-02-01T19:00:00+02:00", "timeZone": "Europe/Tallinn"},"extendedProperties": { "private": {  "meetingId": "xxxxxxxx",  "zmMeetingNum": "xxxxxxxx",  "meetingParams": "{\"topic\":\"Sample Event\",\"type\":2,\"start_time\":\"2024-02-01T18:00:00+02:00\",\"duration\":60,\"timezone\":\"Europe/Tallinn\",\"invitees_hash\":\"xxxxxxxx==\"}" }},"conferenceData": { "entryPoints": [  {   "entryPointType": "video",   "uri": "https://company.zoom.us/xxxxxxxx",   "label": "company.zoom.us/xxxxxxxx",   "meetingCode": "xxxxxxxx",   "passcode": "yyyyy"  },  {   "regionCode": "US",   "entryPointType": "phone",   "uri": "tel:+zzzzzz,,cccccc#",   "label": "+1 zzz-yyy-xxx",   "passcode": "yyyyy"  },  {   "entryPointType": "more",   "uri": "some_uri"  } ], "conferenceSolution": {  "key": {   "type": "addOn"  },  "name": "Zoom Meeting",  "iconUri": "https://lh3.googleusercontent.com/pw/AM-JKLUkiyTEgH-6DiQP85RGtd_BORvAuFnS9katNMgwYQBJUTiDh12qtQxMJFWYH2Dj30hNsNUrr-kzKMl7jX-Qd0FR7JmVSx-Fhruf8xTPPI-wdsMYez6WJE7tz7KmqsORKBEnBTiILtMJXuMvphqKdB9X=s128-no" }, "conferenceId": "xxxxxxxx", "parameters": {  "addOnParameters": {   "parameters": {    "scriptId": "qwerasdfzxc",    "realMeetingId": "xxxxxxxxx",    "creatorUserId": "yyyyyyyyy",    "meetingUuid": "zzzzzzzz==",    "meetingType": "2",    "originalEventId": "aaaaaaaaa"   }  } }},"reminders": { "useDefault": true },"eventType": "default"}

尝试通过PATCH方法将该事件的会议数据替换为已有的Google Meet数据时,返回Invalid conference data错误,使用的请求体如下:

{"conferenceData": {    "entryPoints": [        {            "entryPointType": "video",            "uri": "https://meet.google.com/xxx-yyyy-zzz",            "label": "meet.google.com/xxx-yyyy-zzz"        }    ],    "conferenceSolution": {        "key": {            "type": "hangoutsMeet"        }    },    "conferenceId": "xxx-yyyy-zzz"    }}

关键说明

  • 使用UPDATE方法提交相同会议数据时请求成功,但系统设计要求必须使用PATCH方法(无需提前获取完整事件数据)
  • 若事件当前关联的是Google Meet,使用PATCH方法替换为Zoom会议数据时请求可成功
解决方案

当用PATCH从Zoom切换到Google Meet时,需要额外清除原Zoom会议关联的私有扩展属性和conferenceData中的addOn参数,调整后的PATCH请求体如下:

{
  "conferenceData": {
    "entryPoints": [
      {
        "entryPointType": "video",
        "uri": "https://meet.google.com/xxx-yyyy-zzz",
        "label": "meet.google.com/xxx-yyyy-zzz"
      }
    ],
    "conferenceSolution": {
      "key": {
        "type": "hangoutsMeet"
      }
    },
    "conferenceId": "xxx-yyyy-zzz",
    "parameters": null
  },
  "extendedProperties": {
    "private": {
      "meetingId": null,
      "zmMeetingNum": null,
      "meetingParams": null
    }
  }
}

原理说明

  • 原事件的extendedProperties.private中存储了Zoom的会议私有数据,直接替换conferenceData时这些残留数据会导致验证失败
  • 需要将conferenceData.parameters设为null,清除原Zoom的addOn参数
  • Google日历对原生Hangouts Meet的会议数据验证更严格,残留第三方会议的关联数据会触发Invalid conference data错误

内容的提问来源于stack exchange,提问作者Orkhan Rustamli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 23:55:36