我遵循了https://developers.google.com/hangouts/chat/how-tos/bots-publish
中的步骤如果我通过Google控制台发布到主题 它以Java代码接收到订户https://console.cloud.google.com/cloudpubsub/topics/
但是与漫游器聊天不会将消息发布到Pub / Sub
帮我解决
答案 0 :(得分:2)
如果您无法让聊天机器人将消息发送到Cloud Pub / Sub,以下是一些常见的错误:
serviceAccount:chat-api-push@system.gserviceaccount.com
帐户对该主题具有发布者权限。为此,您可以转到Cloud Pub/Sub dashboard in the cloud console,单击您要发布的主题旁边的复选框,然后在右侧“添加成员”下的框中键入serviceAccount:chat-api-push@system.gserviceaccount.com
,然后选择“发布/订阅发布者权限”,然后单击“添加”按钮。如果您没有在侧面看到此面板,则可能需要单击右上角的“显示信息面板”。这是该页面的屏幕截图,其中突出显示了相关内容:在bot配置页面中证明主题的名称时,请确保指定完整路径,包括项目名称。主题名称的格式应为projects/<project name>/topics/<topicname>
。
在尝试与机器人聊天之前,请确保订阅存在。在创建订阅之前发布的消息将不会传递到该订阅。
如果您到此为止,但仍然无法正常工作,请尝试将消息发送到您的机器人,然后使用gcloud命令行工具通过命令将其拉出
gcloud pubsub subscriptions pull <subscription name> --project <project name>
您应该看到包含收到的消息的表输出。如果可以获得此输出,则消息从bot正确流到Cloud Pub / Sub主题,再到该主题的订阅。