Java 与机器人闲逛聊天不';t将消息发布到发布/订阅

Java 与机器人闲逛聊天不';t将消息发布到发布/订阅,java,bots,google-cloud-pubsub,hangouts-chat,hangouts-api,Java,Bots,Google Cloud Pubsub,Hangouts Chat,Hangouts Api,我跟着台阶走了进去 如果我通过谷歌控制台发布一个主题 它以java代码的形式为订阅服务器接收 但是与机器人聊天不会将消息发布到Pub/Sub 如果您无法让聊天机器人向云Pub/Sub发送消息,那么以下是一些常见的问题: 确保serviceAccount:chat api-push@system.gserviceaccount.com帐户具有该主题的发布者权限。要做到这一点,请转到,单击要发布到的主题旁边的复选框,键入servicecomport:chat-api-push@system.gser

我跟着台阶走了进去

如果我通过谷歌控制台发布一个主题 它以java代码的形式为订阅服务器接收

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


如果您无法让聊天机器人向云Pub/Sub发送消息,那么以下是一些常见的问题:

  • 确保
    serviceAccount:chat api-push@system.gserviceaccount.com
    帐户具有该主题的发布者权限。要做到这一点,请转到,单击要发布到的主题旁边的复选框,键入
    servicecomport:chat-api-push@system.gserviceaccount.com
    进入右侧“添加成员”下的框中,选择“发布/订阅发布者权限”,然后单击“添加”按钮。如果您没有在侧面看到此面板,则可能需要单击右上角的“显示信息面板”。以下是页面截图,突出显示了相关部分:
  • 在bot配置页面中验证主题名称时,请确保指定完整路径,包括项目名称。主题名称的格式应为
    projects//topics/

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

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

     gcloud pubsub subscriptions pull <subscription name> --project <project name>
    
    gcloud pubsub订阅拉取--project
    

    您应该看到一个带有接收到的消息的表输出。如果您可以获得此输出,则消息将正确地从bot流到云发布/订阅主题,然后再流到该主题的订阅

    如果您无法让聊天机器人向云发布/订阅发送消息,以下是一些常见问题:

  • 确保
    serviceAccount:chat api-push@system.gserviceaccount.com
    帐户具有该主题的发布者权限。要做到这一点,请转到,单击要发布到的主题旁边的复选框,键入
    servicecomport:chat-api-push@system.gserviceaccount.com
    进入右侧“添加成员”下的框中,选择“发布/订阅发布者权限”,然后单击“添加”按钮。如果您没有在侧面看到此面板,则可能需要单击右上角的“显示信息面板”。以下是页面截图,突出显示了相关部分:
  • 在bot配置页面中验证主题名称时,请确保指定完整路径,包括项目名称。主题名称的格式应为
    projects//topics/

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

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

     gcloud pubsub subscriptions pull <subscription name> --project <project name>
    
    gcloud pubsub订阅拉取--project
    

    您应该看到一个带有接收到的消息的表输出。如果您可以获得此输出,则消息将正确地从bot流到云发布/订阅主题,然后再流到该主题的订阅

    非常感谢兄弟!这就是问题所在。为什么文档中没有提到它(如果有人知道,请回复)?看起来现在人们应该使用
    聊天api-push@system.gserviceaccount.com
    相反,即相同的账户ID,但没有
    服务账户:
    前缀..非常感谢兄弟!这就是问题所在。为什么文档中没有提到它(如果有人知道,请回复)?看起来现在人们应该使用
    聊天api-push@system.gserviceaccount.com
    相反,即相同的账户ID,但没有
    服务账户:
    前缀。。