Чат с ботом не публикует сообщение в pub/sub

Я следовал инструкциям в https://developers.google.com/hangouts/chat/how-tos/bots-publish

Если я пишу в теме через консоль Google, она получает код Java для подписчика https://console.cloud.google.com/cloudpubsub/topics/

Но общение с ботом не публикует сообщение в Pub/Sub

Помоги мне

1 ответ

Решение

Вот некоторые общие вещи, которые могут пойти не так, если вы не можете заставить своего чат-бота отправлять сообщения в Cloud Pub/Sub:

  1. Убедитесь, что serviceAccount:chat-api-push@system.gserviceaccount.com Аккаунт имеет разрешение издателя на эту тему. Вы можете сделать это, перейдя на облачную панель Pub / Sub в облачной консоли, установив флажок рядом с темой, которую вы хотите опубликовать, введя serviceAccount:chat-api-push@system.gserviceaccount.com в поле "Добавить участников" справа, выберите "Разрешение Pub/Sub Publisher" и нажмите кнопку "Добавить". Если вы не видите эту панель сбоку, вам может потребоваться нажать "Показать информационную панель" в верхнем правом углу. Вот скриншот страницы с выделенными соответствующими фрагментами:

Cloud Pub / Sub Console Page

  1. При подтверждении названия темы на странице конфигурации бота убедитесь, что вы указали полный путь, включая имя проекта. Название темы должно иметь вид projects/<project name>/topics/<topicname>,

  2. Убедитесь, что подписка существует, прежде чем пытаться общаться с вашим ботом. Сообщения, опубликованные до создания подписки, не будут доставлены в эту подписку.

Если вы дошли до этого уровня, но все еще не работает, попробуйте отправить сообщения своему боту, а затем потяните их с помощью инструмента командной строки gcloud с помощью команды

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

Вы должны увидеть вывод таблицы с полученными сообщениями. Если вы можете получить этот вывод, то сообщения будут правильно передаваться из бота в тему Cloud Pub / Sub, а затем в подписку на эту тему.

Другие вопросы по тегам