2016-04-12 23 views
9

Chào buổi tối, chỉ thấy rằng Facebook đã phát hành bộ công cụ bot messenger của mình và tôi ngay lập tức nhảy vào đó để tìm hiểu thêm và có thể tự mình làm.Tôi có thể sử dụng localhost như một URL Callback trong một webhook messenger

Vấn đề của tôi là tôi không có trang web https đang chạy và nó yêu cầu url hợp lệ https. Tôi đã cố gắng sử dụng máy chủ web cục bộ của mình có chứng chỉ nhưng nó không hoạt động.

Câu hỏi của tôi là liệu điều này có thể thực hiện được bằng cách sử dụng url cục bộ không.

Cảm ơn bạn trước

+0

Tôi đã thử nó sử dụng ngrok như mô tả trong liên kết dưới đây và tôi đã nhận nó hoạt động. https://sumwu.me/blog/page/9/how-to-create-a-facebook-messenger-bot/ – bvsdev

Trả lời

13

Thực tế điều này là có thể với localhost. Sử dụng . Nó cho phép bạn mở localhost đến web công cộng, qua http hoặc https. Điều này chỉ nên được sử dụng để thử nghiệm.

+0

ngrok sẽ không hoạt động nếu nhiều nhà phát triển làm việc trên cùng một webhook/chatbot – Gurpreet

0

Câu hỏi của tôi là nếu điều này có thể được thực hiện bằng một url localhost ở tất cả.

Không, dĩ nhiên không phải - vì "gọi lại" thực sự có nghĩa là Facebook yêu cầu máy chủ của bạn - và điều này khó có thể với localhost.


Chứng chỉ SSL hợp lệ cho trang web của bạn dễ dàng nhận được miễn phí trong những ngày này, thông qua LetsEncrypt. Và ngay cả khi điều đó không có sẵn trên máy chủ của bạn, vẫn còn StartSSL, cung cấp chứng chỉ cơ bản miễn phí. Tất cả những gì bạn cần là một máy chủ bạn có thể cài đặt chúng, hoặc tải chúng lên, hoặc bất cứ cơ chế nào mà hoster của bạn cung cấp cho nó. (Và nếu họ không cung cấp bất kỳ, thì có thể là lúc để chuyển đổi.)

+0

Cảm ơn câu trả lời của bạn, tôi đã hỏi điều này vì có một số tùy chọn cho phép bạn sử dụng localhost dưới dạng url trong một số ứng dụng facebook. Nhưng như bạn nói nó không thể. Cảm ơn bạn đã dành thời gian. – Query

+0

Có, bạn có thể kiểm tra f.e. Đăng nhập Facebook bằng localhost - nhưng đó là bởi vì tất cả mọi thứ xảy ra trong trình duyệt của bạn, nó chỉ là một chuyển hướng đến Facebook và từ đó trở lại máy chủ cục bộ của bạn. Và trình duyệt của bạn biết localhost là gì và cách tiếp cận nó, vì vậy không có vấn đề gì ở đây - nhưng Facebook thì không.(Hoặc bạn có thể nói tất nhiên họ cũng biết - nhưng nếu máy chủ của Facebook đưa ra yêu cầu 127.0.0.1, điều đó sẽ không đạt được nhiều.) – CBroe

1

Nếu bạn muốn kiểm tra webhook trên môi trường địa phương của mình, tôi sẽ dùng thử superhook.com, bạn có thể nhận Khóa API miễn phí và công cụ tạo đường hầm từ URL công khai tới máy tính của bạn. Đây là trang Câu hỏi thường gặp của họ:

Bạn tải xuống và chạy ứng dụng UltraHook trên máy tính của mình. Nó kết nối với máy chủ UltraHook trên đám mây và tạo một đường hầm từ một điểm cuối công cộng trên máy chủ của chúng tôi đến máy tính của bạn. Mọi yêu cầu HTTP POST được gửi đến điểm cuối công cộng sẽ được gửi qua đường hầm một yêu cầu được gửi đến điểm cuối riêng tư có thể truy cập từ máy tính của bạn.

Tôi đã sử dụng nó để kiểm tra webhooks từ các nhà cung cấp khác nhau (như cổng thanh toán). Trong máy tính của bạn, bạn có thể chạy một cái gì đó như:

ultrahook <subdomain> http://localhost:8000/webhook/

và sau đó cấu hình URL webhook trong dịch vụ bên ngoài của bạn để một cái gì đó giống như <subdomain>.ultrahook.com

Các vấn đề liên quan