我想使用 Google Meet api,它用于 Slack 的环聊集成,描述如下
TL;博士:
https://meet.google.com/new?gid=123&gd=qwe987
可以生成诸如此类的链接,因此会显示一个模式,该模式可以要求用户确认,然后从用户的浏览器(打开 Google Meet 页面的位置)向某个端点发送一些请求(可能是从gid
哪个端点确定的google application id
)。有没有办法将我的应用程序配置为具有 webhook,以便我可以生成这些自定义链接?
有适用于 Slack 的 Google+ Hangouts 应用程序。以下是它的工作原理(在您的工作区中添加应用程序之后):
/hangout
您在任何 Slack 频道中发送命令- 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 idgd
似乎是谷歌数据之类的东西。如果我对其进行 url 解码,它将变为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 应用程序中配置的吗(应用程序 ID 通过 提供gid
)?我怎样才能为这种行为配置我的应用程序?我在哪里可以设置 webhook url?
如果我们分解请求,我们可以看到 url 包含gd
有效负载的某些部分:
THTJ27X6W
gd
- 这是有效载荷的第一部分B01ABCD5GJF
- 最后一个E1MDm4DWcuVa0RbK5ZT9o5KD
gd
-有效载荷的最后一部分
和表单数据包含:
hangout_id
- 这是gd
我名字后面的有效载荷hangout_url
- 显然,这是新创建的会议的 url
我怎样才能根据我的需要改变它?
我在 Google API 仪表板(此处console.developers.google.com/apis
)创建了一个新应用程序,但找不到任何有关此集成的文档。里面有Google+ Hangouts API
,API Library
但是上面写着Apps will continue to function until April 25, 2017.
。
我试图从另一边接近它:
在API Library
里面有谷歌日历。我mattermost-hangout
在 GitHub 上找到了应用程序(必须对其进行一些更新,因此它可以与更新的 api 一起使用)。以下是它的工作原理:
- oauth2 用于在 google 授权(单个帐户)
- 它处理
POST
请求,该请求是从 Mattermost 接收的(由斜杠命令触发),- 使用 Google Calendar API(带会议)创建一个新的日历事件,
- 从响应中获取环聊 url,并在 Mattermost 频道中发送一条新消息,邀请加入会议。
但它有一些缺点:
- 您必须使用一个帐户来授权所有事件创建事件(是的,它可以升级以授权任意数量的用户,但这会很不方便。为什么要强制任何人提供对其 Google 帐户的访问权限,而 Google Meet 授权只是发生在浏览器中,我们不需要创建事件)
- 用于身份验证的帐户现在在他的日历中有事件。当然,事件可以删除,但不是这样。
有没有关于使用gid
和gd
参数的文档?
一般来说,我想找到一种在我的应用程序中配置 webhook 的方法,所以当 Google Meet 在gid
查询参数中找到我的应用程序的 ID 时,它会查看应用程序的配置并向我的应用程序发送请求(以前配置的端点(我假设它以这种方式工作))。
当然,它有可能是某种内部 API,不能被所有人使用,但我找不到任何关于此的信息。