与机器人进行环聊聊天不会将消息发布到发布/订阅

时间:2018-09-28 14:20:39

标签: java bots google-cloud-pubsub hangouts-chat hangouts-api

我遵循了https://developers.google.com/hangouts/chat/how-tos/bots-publish

中的步骤

如果我通过Google控制台发布到主题 它以Java代码接收到订户https://console.cloud.google.com/cloudpubsub/topics/

但是与漫游器聊天不会将消息发布到Pub / Sub

帮我解决

1 个答案:

答案 0 :(得分:2)

如果您无法让聊天机器人将消息发送到Cloud Pub / Sub,以下是一些常见的错误:

  1. 确保serviceAccount:chat-api-push@system.gserviceaccount.com帐户对该主题具有发布者权限。为此,您可以转到Cloud Pub/Sub dashboard in the cloud console,单击您要发布的主题旁边的复选框,然后在右侧“添加成员”下的框中键入serviceAccount:chat-api-push@system.gserviceaccount.com,然后选择“发布/订阅发布者权限”,然后单击“添加”按钮。如果您没有在侧面看到此面板,则可能需要单击右上角的“显示信息面板”。这是该页面的屏幕截图,其中突出显示了相关内容:

Cloud Pub/Sub Console Page

  1. 在bot配置页面中证明主题的名称时,请确保指定完整路径,包括项目名称。主题名称的格式应为projects/<project name>/topics/<topicname>

  2. 在尝试与机器人聊天之前,请确保订阅存在。在创建订阅之前发布的消息将不会传递到该订阅。

如果您到此为止,但仍然无法正常工作,请尝试将消息发送到您的机器人,然后使用gcloud命令行工具通过命令将其拉出

 gcloud pubsub subscriptions pull <subscription name> --project <project name>

您应该看到包含收到的消息的表输出。如果可以获得此输出,则消息从bot正确流到Cloud Pub / Sub主题,再到该主题的订阅。