2016-04-12 48 views
9

Dobry wieczór, właśnie zobaczyłem, że Facebook wydał swój zestaw narzędzi komunikatora botów i natychmiast wskoczyłem do niego, aby dowiedzieć się więcej na ten temat i może spróbuję zrobić to samo.Czy mogę używać localhost jako adresu zwrotnego URL w webhooku komunikatora

Mój problem polega na tym, że nie mam działającej strony https i wymaga ona prawidłowego adresu URL https. Próbowałem użyć mojego lokalnego serwera WWW, który ma certyfikat, ale to nie działa.

Moje pytanie dotyczy tego, czy można to zrobić za pomocą adresu URL localhost.

góry dziękuję

+0

próbowałem go używając ngrok jak opisano w link poniżej i mam to działa. https://sumwu.me/blog/page/9/how-to-create-a-facebook-messenger-bot/ – bvsdev

Odpowiedz

13

W rzeczywistości jest to możliwe z localhost. Użyj . To pozwala na otwarcie localhost do publicznej sieci, przez http lub https. Powinno to jednak być używane tylko do testowania.

+0

ngrok nie będzie działać, jeśli wielu programistów będzie pracować nad tym samym webhookiem/chatbotem – Gurpreet

0

Moje pytanie brzmi, czy jest to możliwe do zrobienia przy użyciu adresu URL localhost w ogóle.

Nie, oczywiście, że nie jest - bo co taki „callback” w rzeczywistości oznacza to, że Facebook wysyła żądanie do serwera - i to jest prawie niemożliwe ze localhost.


Ważny certyfikat SSL dla Twojej witryny jest obecnie łatwy do zdobycia za darmo za pośrednictwem LetsEncrypt. I nawet jeśli nie jest to dostępne na twoim serwerze, wciąż jest StartSSL, który zapewnia podstawowe certyfikaty za darmo. Wszystko, czego potrzebujesz, to serwer, na którym możesz je zainstalować lub przesłać, lub jakikolwiek mechanizm, jaki zapewnia dla niego hoster. (A jeśli nie dostarczy żadnych, wtedy może nadszedł czas, aby się przełączyć.)

+0

Dziękuję za odpowiedź, zadałem to pytanie, ponieważ jest kilka opcji, które pozwalają na użycie localhosta jako adres URL w niektórych aplikacjach na Facebooku. Ale jak powiedziałeś, to niemożliwe. Dziękuję za Twój czas. – Query

+0

Tak, możesz przetestować f.e. Logowanie na Facebooku z localhostem - ale to dlatego, że wszystko dzieje się w twojej przeglądarce, to tylko przekierowanie do Facebooka, a stamtąd powrót do twojego localhosta. Twoja przeglądarka wie, czym jest localhost i jak do niego dotrzeć, więc nie ma problemu - ale Facebook nie.(Można też powiedzieć, że oczywiście wiedzą również - ale jeśli serwer Facebooka zwróci się do 127.0.0.1, to nie osiągnie zbyt wiele.) – CBroe

1

Jeśli chcesz przetestować webhooks w swoim lokalnym środowisku, chciałbym spróbować ultrahook.com, możesz pobrać klucz API za darmo, a narzędzie utworzy tunel z publicznego adresu URL na twój komputer. To jest na ich stronie FAQ:

Użytkownik pobiera i uruchamia klienta UltraHook na swoim komputerze. To łączy się z serwerami UltraHook w chmurze i tworzy tunel z publicznego serwera końcowego na naszych serwerach. Wszelkie żądania HTTP POST wysłane do publicznego punktu końcowego będą przesyłane za pośrednictwem tunelu dostarczonego do prywatnego punktu końcowego dostępnego z komputera.

Użyłem go do przetestowania webhooków od różnych dostawców (takich jak bramki płatnicze). W komputerze można uruchomić coś takiego:

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

a następnie skonfigurować URL webhook w usłudze zewnętrznej do czegoś jak <subdomain>.ultrahook.com