Чат с ботом не публикует сообщение в 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:
- Убедитесь, что
serviceAccount:chat-api-push@system.gserviceaccount.com
Аккаунт имеет разрешение издателя на эту тему. Вы можете сделать это, перейдя на облачную панель Pub / Sub в облачной консоли, установив флажок рядом с темой, которую вы хотите опубликовать, введяserviceAccount:chat-api-push@system.gserviceaccount.com
в поле "Добавить участников" справа, выберите "Разрешение Pub/Sub Publisher" и нажмите кнопку "Добавить". Если вы не видите эту панель сбоку, вам может потребоваться нажать "Показать информационную панель" в верхнем правом углу. Вот скриншот страницы с выделенными соответствующими фрагментами:
При подтверждении названия темы на странице конфигурации бота убедитесь, что вы указали полный путь, включая имя проекта. Название темы должно иметь вид
projects/<project name>/topics/<topicname>
,Убедитесь, что подписка существует, прежде чем пытаться общаться с вашим ботом. Сообщения, опубликованные до создания подписки, не будут доставлены в эту подписку.
Если вы дошли до этого уровня, но все еще не работает, попробуйте отправить сообщения своему боту, а затем потяните их с помощью инструмента командной строки gcloud с помощью команды
gcloud pubsub subscriptions pull <subscription name> --project <project name>
Вы должны увидеть вывод таблицы с полученными сообщениями. Если вы можете получить этот вывод, то сообщения будут правильно передаваться из бота в тему Cloud Pub / Sub, а затем в подписку на эту тему.