【问题标题】:Hangouts Chat Service Account issuesHangouts Chat 服务帐号问题
【发布时间】:2023-03-06 20:43:02
【问题描述】:

我正在为 Hangouts Chat 设置一些新的聊天机器人。部分工作涉及使用运行良好的 Hubot。另一个用例需要基于外部函数发布到用户空间,这是通过 python 命令脚本完成的。我为每个机器人设置了一个项目和单独的服务帐户,并且机器人服务帐户的权限似乎相同。在 GSuite 安全级别,所有机器人都没有相应的域范围委派。

我们通过一个 Hubot 将每个用户的 spaceid 保存到数据库中,然后 python 脚本可以查找用户并获取该 id。

但是,这 5 个项目中只有一个似乎能够向用户空间发布消息。所有其他人都会收到 403 错误并且无法发布。相同的 python 脚本用于任何“机器人”,唯一的区别是用于身份验证的 json 文件。

不确定这些信息是否足够。但是,我想知道如果没有权限会导致这个问题?

【问题讨论】:

  • 您是自己使用服务帐户还是冒充用户?取决于您要执行的请求类型impersonation might not be possible
  • 使用服务帐户,该帐户在确实有效的项目中显示为来自机器人的消息。我的问题是它不适用于其他项目,只有一个。
  • 那么您的每个服务帐户是否都链接到您尝试使用它的相应项目(每个服务帐户都与某个项目相关联),是否为每个相应项目启用了环聊 API?
  • 他们都通过 Hubot 独立工作。我尝试将一个不适用于 PubSub、Hangouts Chat API、凭据、OAuth 等的进行比较。由于我们在 GSuite 上,因此它们也作为私有发布到市场中,以便我们可以在G Suite 管理员。到目前为止,我没有看到任何差异。如果我找到它,我会在这里告诉你。
  • 我想通了。我通过另一个机器人注册的 spaceid 与与任何其他机器人的机器人/用户通信关联的 spaceid 不同。换句话说,机器人为用户看到的 spaceid 似乎对于它与用户的通信是唯一的。我需要让用户注册需要发送消息的机器人,而不是普通的注册机器人。

标签: google-workspace service-accounts hangouts-chat hangouts-api


【解决方案1】:

我想通了。我通过另一个机器人注册的 spaceid 与与任何其他机器人的机器人/用户通信关联的 spaceid 不同。换句话说,机器人为用户看到的 spaceid 似乎对于它与用户的通信是唯一的。我需要让用户注册需要发送消息的机器人,而不是普通的注册机器人

【讨论】:

    猜你喜欢
    • 2023-01-25
    • 2022-06-29
    • 1970-01-01
    • 2021-12-29
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多