Odbieranie SMS w Ruby Rails

Przewodnik na tej stronie daje Ci możliwość nauczenia się, jak możesz użyć programu Ruby do odbierania wiadomości SMS z Bramki SMS. Można to zrobić za pomocą żądań HTTP, które zbierają odebrane wiadomości SMS. Przewodnik zawiera samouczek wideo i przewodnik krok po kroku, który pomoże Ci poznać sposób, w jaki możesz odbierać wiadomości SMS za pomocą Ruby.

Co to jest Ruby SMS API?

Ruby Rails SMS API pozwala na wysyłanie wiadomości SMS z Twojego programu Ruby Rails. Ruby SMS API inicjuje żądania HTTP i wysyła je do Bramki SMS, która dostarcza wiadomość do odbiorcy.

Wymagania wstępne

Odbieranie SMS w Ruby Rails

  1. Otwórz aplikację Notatnik
  2. Skopiuj i wklej przykładowy kod z tej strony
  3. Zapisz plik jako ReceiveSMS.rb
  4. Otwórz Bramkę SMS Ozeki i wybierz połączenie z serwerem HTTP
  5. Otwórz formularz HTML połączenia z serwerem HTTP
  6. Wyślij kilka testowych wiadomości
  7. Otwórz Wiersz polecenia
  8. Wpisz 'ruby ReceiveSMS.rb' w Wierszu polecenia i naciśnij Enter
  9. Ruby Rails odbiera wiadomości SMS

Wideo 1 - Jak odbierać SMS w Ruby Rails (Samouczek wideo)

Możesz swobodnie używać przykładowego kodu SMS w Ruby w swoich projektach, a także możesz go modyfikować. Jeśli chcesz tylko uruchomić ten przykładowy kod, aby zobaczyć, jak działa, sprawdź przewodnik krok po kroku poniżej lub samouczek wideo na tej stronie, aby zobaczyć, co jest potrzebne do wykonania przykładowego kodu SMS w Ruby na Twoim komputerze.

require 'net/http'
require 'rexml/document'
include REXML

def DisplayMessages(response)
	xmldoc = Document.new(response)

	xmldoc.elements.each('response/data/message') do |value|
		begin
			sender = value.elements['originator'].text
			text = value.elements['messagedata'].text
			DisplayMessage(sender,text)
		rescue
			puts("Skrzynka odbiorcza jest pusta.")
		end
	end
end

def DisplayMessage(sender, text)
	puts("#{sender}: #{text}")
end

username = "john"
password = "Xc3ffs"
httpUrl = "https://127.0.0.1:9508/"
folder = "inbox";
limit = "3";

sendString = "#{httpUrl}api?action=receivemessage&username="\
			 "#{username}&password="\
			 "#{password}&folder=#{folder}&limit="\
			 "#{limit}&afterdownload=delete"

puts("Wysyłanie żądania http #{sendString}")

OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)

url = URI(sendString)
response = Net::HTTP.get(url)
puts("Odebrano odpowiedź http:")
DisplayMessages(response)

Krok 1 - Otwórz Notatnik

W tym pierwszym kroku musisz otworzyć aplikację edytora tekstu, która może obsługiwać pliki Ruby. W tym celu możesz użyć domyślnej aplikacji Notatnik, którą można znaleźć na wszystkich komputerach z systemem operacyjnym Windows. Tak więc, jak pokazuje Rysunek 1, po prostu otwórz ją ze swojego pulpitu.

otwórz notatnik
Rysunek 1 - Otwórz edytor tekstu Notatnik

Krok 2 - Skopiuj kod Ruby

Następnie musisz skopiować przykładowy kod Ruby z tej strony. Aby to zrobić, po prostu przewiń w górę do sekcji przykładowego kodu na tej stronie i zaznacz cały przykładowy kod Ruby. Następnie, jak widać na Rysunku 2, naciśnij Ctrl+C na klawiaturze, aby skopiować kod Ruby do schowka.

skopiuj kod ruby
Rysunek 2 - Skopiuj kod źródłowy Ruby ze strony internetowej

Krok 3 - Wklej kod do pliku tekstowego

Po skopiowaniu kodu źródłowego Ruby z tej strony musisz umieścić go w dokumencie tekstowym. Aby to zrobić, przejdź do aplikacji Notatnik, którą otworzyłeś wcześniej, i jak widać na Rysunku 3, po prostu naciśnij Ctrl+V na klawiaturze, aby wkleić cały kod źródłowy Ruby do dokumentu tekstowego.

wklej kod do notatnika
Rysunek 3 - Wklej kod źródłowy do Notatnika

Krok 4 - Zapisz tekst jako plik Ruby

W tym momencie masz plik tekstowy zawierający kod źródłowy, ale nie jest on jeszcze w odpowiednim formacie pliku Ruby. Notatnik może zapisywać pliki w dowolnym formacie, więc możesz łatwo rozwiązać ten problem. Wybierz opcję "Zapisz jako" w Notatniku i zapisz plik z rozszerzeniem '.rb'. Ta procedura jest pokazana na Rysunku 4.

save ruby file
Rysunek 4 - Zapisz plik Ruby jako ReceiveSMS.rb

Krok 5 - Wyślij kilka testowych wiadomości

Teraz Twój przykładowy kod jest gotowy do uruchomienia, ale najpierw musisz mieć kilka wiadomości w folderze skrzynki odbiorczej. Do celów testowych możesz użyć połączenia HTTP Server, aby wysłać kilka testowych wiadomości do siebie i przetestować przykładowy kod PHP. Otwórz SMS Gateway i wybierz połączenie HTTP Server. Tutaj otwórz formularz HTML połączenia i, jak na Rysunku 5, wyślij kilka wiadomości do odbiorcy 'Ozeki'.

Simulate incoming sms
Rysunek 5 - Symulacja przychodzących SMS-ów

Krok 6 - Otwórz Wiersz polecenia

Głównym krokiem przewodnika jest wykonanie programu Ruby. Aby to zrobić, musisz otworzyć Wiersz polecenia na swoim komputerze. Najpierw przejdź do folderu, w którym zapisałeś plik Ruby, korzystając z Eksploratora plików. Tutaj, jak widać na Rysunku 6, wpisz 'cmd' w Eksploratorze plików i jeśli naciśniesz Enter, Wiersz polecenia otworzy się na Twoim komputerze.

open cmd
Rysunek 6 - Otwórz wiersz polecenia

Krok 7 - Wykonaj program Ruby

W Wierszu polecenia wystarczy wykonać jedną linię polecenia, aby uruchomić program Ruby. Wpisz więc 'ruby *nazwa_pliku*.rb' w Wierszu polecenia i naciśnij Enter. W ten sposób przykład Ruby zostanie wykonany, a wyniki będą widoczne w oknie konsoli (Rysunek 7). Tutaj możesz zobaczyć żądanie HTTP i odpowiedź na to żądanie, która zawiera wszystkie odebrane wiadomości.

run ruby code
Rysunek 7 - Uruchom kod Ruby w wierszu polecenia