api 更新后获取 HangoutLink

Posted

技术标签:

【中文标题】api 更新后获取 HangoutLink【英文标题】:Get HangoutLink after api update 【发布时间】:2022-01-07 10:59:50 【问题描述】:

这是我从 google-calendar-api 检索数据的方式: 我最近添加了conferenceDataVersion=1,但没有任何作用。

const uri = `$googleapiURL/calendar/v3/calendars/$calendarId/events?conferenceDataVersion=1`;

const response = await rp.post(
  uri,
  headers: 
    authorization: `Bearer $token`,
  ,
  body,
  json: true,
  simple: false,
  resolveWithFullResponse: true,
);

我以前可以通过以下方式进行环聊:

const link = response.body.hangoutLink,

但是现在我们在 body 中没有 hangoutLink 属性了。我怎么能得到它?

我正在阅读the documentation 关于正文请求查询参数的信息。有一个conferenceData,但没有示例说明如何使用它。

【问题讨论】:

插入活动后,您是否可以尝试在 Google 日历网络用户界面上查看它并检查您是否在活动中看到 Google Meet 选项,例如this sample image? @IrvinJayG.嗨!谢谢你的帮助,伙计。会议没有创建,我没有你的图片显示的“加入”按钮。官方文档有点混乱,但我发现我需要添加conferenceData对象。 【参考方案1】:

2020 年 9 月之后。Google Calendar API 发生了变化,不再默认创建 meet。我们需要明确“告诉”我们想要创建一个聚会(环聊链接)。

1 - 首先,我们需要添加一个查询参数 conferenceDataVersion=1

2 - 我们需要向请求正文添加一个新对象

conferenceData: 
  createRequest: 
    conferenceSolutionKey: 
      type: 'hangoutsMeet',
    ,
    requestId: <<randomString>>,
  ,

更多信息:

根据Events: insert 和Event resource reperesentation 的文档:

conferenceDataVersion: integer

API客户端支持的会议数据版本号。版本 0 假定不支持会议数据并忽略事件正文中的会议数据。版本 1 支持复制会议数据以及使用会议数据的 createRequest 字段创建新会议。默认值为 0。可接受的值为 01(含)。


conferenceData.createRequest: nested object

生成新会议并将其附加到事件的请求。数据是异步生成的。要查看数据是否存在,请检查 status 字段。

conferenceSolution 和至少一个entryPoint,或者createRequest 是必需的。


conferenceData.createRequest.conferenceSolutionKey.type: string

会议解决方案类型。

如果客户端遇到不熟悉的类型或空类型,它应该仍然能够显示入口点。但是,它应该不允许修改。

可能的值是:

eventHangout”用于面向消费者的环聊 (http://hangouts.google.com) // 已弃用 “eventNamedHangout”适用于 G Suite 用户的经典环聊 (http://hangouts.google.com) // 已弃用 “hangoutsMeet”用于 Google Meet (http://meet.google.com) “addOn”用于 3P 会议提供商

conferenceData.createRequest.requestId: string

客户端为此请求生成的唯一 ID。 客户端应为每个新请求重新生成此 ID。如果提供的 ID 与上一个请求的 ID 相同,则忽略该请求。

有了这些信息,我们可以生成一个日历事件创建请求,其中包含一个会议链接作为会议解决方案。

我对随机字符串的解决方案是生成一个 uuid

【讨论】:

以上是关于api 更新后获取 HangoutLink的主要内容,如果未能解决你的问题,请参考以下文章

小程序:版本更新后获取用户信息变更

产品更新后的 Woocommerce 获取库存

更新状态超过 1 次后调用函数

使用流式 API 更新新列后无法向 BigQuery 表插入新值

vue中部分api的解释

无法通过 API 更新发布定义