2

我想使用 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 id
  • gd似乎是谷歌数据之类的东西。如果我对其进行 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有效负载的某些部分:

  • THTJ27X6Wgd- 这是有效载荷的第一部分
  • B01ABCD5GJF- 最后一个
  • E1MDm4DWcuVa0RbK5ZT9o5KDgd-有效载荷的最后一部分

和表单数据包含:

  • 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 授权只是发生在浏览器中,我们不需要创建事件)
  • 用于身份验证的帐户现在在他的日历中有事件。当然,事件可以删除,但不是这样

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

一般来说,我想找到一种在我的应用程序中配置 webhook 的方法,所以当 Google Meet 在gid查询参数中找到我的应用程序的 ID 时,它会查看应用程序的配置并向我的应用程序发送请求(以前配置的端点(我假设它以这种方式工作))。

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

4

0 回答 0