1

我按照https://developers.google.com/hangouts/chat/how-tos/bots-publish中的步骤操作

如果我通过谷歌控制台发布到一个主题,它会在订阅者的 Java 代码中收到https://console.cloud.google.com/cloudpubsub/topics/

但与机器人聊天不会将消息发布到 Pub/Sub

帮帮我

4

1 回答 1

4

如果您无法让聊天机器人向 Cloud Pub/Sub 发送消息,以下是一些可能出错的常见问题:

  1. 确保该serviceAccount:chat-api-push@system.gserviceaccount.com帐户具有该主题的发布者权限。您可以通过转到云控制台中的 Cloud Pub/Sub 仪表板来执行此操作,单击要发布到的主题旁边的serviceAccount:chat-api-push@system.gserviceaccount.com复选框,在右侧“添加成员”下的框中键入,选择“ Pub/Sub Publisher 权限”,然后单击“添加”按钮。如果您没有在侧面看到此面板,您可能需要单击右上角的“显示信息面板”。这是页面的屏幕截图,其中突出显示了相关部分:

Cloud Pub/Sub 控制台页面

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

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

如果您已经走到了这一步,但仍然无法正常工作,请尝试向您的机器人发送消息,然后使用以下命令通过 gcloud 命令行工具拉取它们

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

您应该会看到一个包含收到消息的表格输出。如果您可以获得此输出,则消息正从机器人正确地流向 Cloud Pub/Sub 主题,然后流向该主题的订阅。

于 2018-10-17T18:59:45.947 回答