2016-07-22 8 views
0

Это мой первый вопрос, поэтому, пожалуйста, дайте мне знать, если я делаю что-то неправильно. Я попытался создать простого ботмана facebook, используя драгоценный камень «messenger-ruby» (https://github.com/netguru/messenger-ruby). Я успешно установил жемчужину, но я думаю, что я действительно не получаю, как отправлять/получать сообщения.Rails Facebook Messenger Bot

подробно, я все шаги в риом:

  1. доступ к странице прибудет маркер
  2. создать messenger.rb, как описано в ридх
  3. добавлены маршруты точно так, как в ридх
  4. создал messenger_controller.rb как в ридх
  5. созданы webhooks успешно, как в ридх
  6. посетил/беспорядок Enger/подписаться подписаться

Это все работало до сих пор, в https://developers.facebook.com/apps/.../messenger я вижу зеленый флажок под Webooks и увидеть мою страницу под Подписавшихся страниц.

Я сделал не сделал «Обзор приложений для посланника».

Теперь проблема: я попытался отправить стандартный ответ на каждое входящее сообщение. Я поставил код из ридх под #components в messenger_controller.rb:

# YOUR_APP/app/controllers/messenger_controller.rb 
class MessengerController < Messenger::MessengerController 
    def webhook 
    #logic here 
    if fb_params.first_entry.callback.message? 
     Messenger::Client.send(
     Messenger::Request.new(
      Messenger::Elements::Text.new(text: 'some text'), 
      fb_params.first_entry.sender_id 
     ) 
    ) 
    end 
    render nothing: true, status: 200 
    end 
end 

Но когда один из администраторов страницы отправляет сообщение на страницу, ничего не происходит. Я просмотрел журналы, но не вижу запроса POST, которого я ожидал бы.

При использовании моего браузера, чтобы посетить https: /.../ мессенджер/webhook, я вижу, «Invalid проверить маркер», а также в журналах он показывает следующее:

Started GET "/messenger/webhook" for xxx.xxx.xxx.xxx at 2016-07-22 14:39:52 +0000 
Cannot render console from xxx.xxx.xxx.xxx! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 
Processing by Messenger::MessengerController#validate as HTML 
Completed 200 OK in 10ms (Views: 0.3ms | ActiveRecord: 0.0ms) 

Я думаю, что это нормально, но я не уверен.

Уверен, что я, вероятно, совершил простую ошибку, но я весь день читал документы и не мог найти решение. Я даже не уверен, в чем проблема, так как я ожидаю найти запрос POST в журналах ...

Любая помощь будет действительно оценена. И, пожалуйста, дайте мне знать, как я могу улучшить свой вопрос.

ответ

1

После написания моего вопроса, я возился с https://developers.facebook.com/apps/. Я понял:

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

Я добавил пользователя в качестве администратора приложения, и он сработал. Код выше и установка gem в порядке.

Поскольку это стоило мне почти полного дня, я надеюсь, что этот ответ также поможет другим. Извините, если я отвечу на свой вопрос.

Смежные вопросы