Google Meet 集成 API例如 Slack 的环聊应用 TL;DR:如何根据我的需要更改它?

问题描述

我想使用 Google Meet api,它用于 Slack 的 Hangouts 集成,说明如下

TL;DR:

可以生成诸如 https://meet.google.com/new?gid=123&gd=qwe987 之类的链接,因此会显示一个模式,该模式可以询问用户的确认,然后将一些请求从用户的浏览器(打开 Google Meet 页面的位置)发送到某个端点(可能是从 gid 确定,似乎是 google application id)。有没有办法将我的应用程序配置为具有网络钩子,以便我可以生成这些自定义链接


Google+ Hangouts app for Slack。这是它的工作原理(在您的工作区中添加应用程序之后):

  • 您在任何 Slack 频道中发送 /hangout 命令
  • slackbot 在此频道中发送“仅对您可见”消息,其中包含开始新视频群聊的链接。它看起来像这样(我更改了链接中的数据):https://meet.google.com/new?gid=691521906844&gd=THTJ30X6W%7CU01113BD13M%7CD01113BDB5Z%7Csuren%7C%7C1846381238693%7C1%7CB01QFGG5GJF%7CE1MDm4DWcuVa0RbN5ZT9o5KF
  • 当您访问该链接时,新会议会立即开始,并且页面显示带有文本“要让其他人加入此视频通话,请将链接发布到您的 Slack 频道”的模式,并带有“取消”和“发布”按钮.
  • 当您单击“发布”时,一条新消息将发送到 Slack 频道,该频道将发送命令。文本为“@Suren Khorenyan 发起了 Google+ 环聊,希望你加入。加入环聊。”并包含之前创建的会议链接

我如何将此集成用于另一个应用程序,例如 Mattermost(或其他任何应用程序,例如通过机器人进行 Telegram 聊天)?

如我所见,网址中的数据略有变化。可能是 Google Meet 的有效负载触发 Slack 发送带有频道链接的消息。

  • gid 似乎类似于 google app id
  • gd 似乎类似于 google data。如果我对它进行 url-decode,它就会变成 THTJ30X6W|U01113BD13M|D01113BDB5Z|suren||1846381238693|1|B01QFGG5GJF|E1MDm4DWcuVa0RbN5ZT9o5KF。这是某种有效载荷,由管道分隔(显然),但我不知道这意味着什么(suren 是我在 Slack 工作区中的用户名,可能用于创建邀请消息) .

当我点击 Post 时,会发生这种情况:

  • POST 发送了一个新的 https://hooks.slack.com/services/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 请求,并带有表单数据
hangout_id: 1812381238693
hangout_url: https://meet.google.com//abc-iuqx-def
  • 一条新消息发布到 Slack 频道

Google meet 知道在哪里回帖!这是在 Google 应用程序中配置的吗(应用程序 ID 通过 gid 提供)?我如何为这种行为配置我的应用程序? 在哪里可以设置 webhook url?

如果我们分解请求,我们可以看到 url 包含 gd 负载的某些部分:

  • THTJ27X6W - 这是 gd 负载的第一部分
  • B01ABCD5GJF - 最后一个
  • E1MDm4DWcuVa0RbK5ZT9o5KD - gd 负载的最后一部分

和表单数据包含:

  • hangout_id - 这是在我名字之后的 gd 负载
  • hangout_url - 显然,这是新创建的会议的网址

如何根据我的需要更改它?


我在 Google Api 信息中心(此处为 console.developers.google.com/apis)创建了一个新应用程序,但找不到用于此集成的任何文档。 Google+ Hangouts API 中有 API Library,但显示的是 Apps will continue to function until April 25,2017.

我试图从另一个方面接近它:

API Library 中有 Google 日历。我在 GitHub 上找到了 mattermost-hangout 应用程序(必须 update it a bit,所以它适用于更新的 api)。这是它的工作原理:

  • oauth2 用于在 google 上授权(单个帐户)
  • 它处理 POST 请求,该请求是从 Mattermost 接收的(由斜杠命令触发),
    • 使用 Google Calendar API(带会议)创建新的日历活动,
    • 从响应中获取环聊网址,并在 Mattermost 频道中发送一条新消息,邀请加入会议。

但它有一些缺点:

  • 您必须使用一个帐户来授权所有事件创建事件(是的,它可以升级以授权任意数量用户,但这会很不方便。为什么要强制任何人提供对其 Google 帐户的访问权限,当 Google Meet 授权只发生在浏览器中,我们不需要创建事件)
  • 用于身份验证的帐户现在在他的日历中有事件。当然,事件可以被删除,但这不是方式

是否有关于使用 gidgd 参数的文档?

通常,我想找到一种方法在我的应用程序中配置 webhook,因此当 Google Meet 在 gid 查询参数中找到我的应用程序 ID 时,它会查看应用程序的配置并向我的应用程序发送请求(之前配置的端点(我假设它是这样工作的))。

当然有可能它是某种内部 API,不能被所有人使用,但我找不到关于此的任何信息。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...