Hogyan kapjunk SMS-t Scalából
A legegyszerűbb módja az SMS fogadásának Scalából a beépített HTTP/Rest SMS API használata az Ozeki SMS Gateway segítségével. Ha ezt az API-t használod, az SMS üzeneteket egy HTTP Get kérés küldésével kaphatod meg az SMS gateway felé. A HTTP Get kérés tartalmazni fog egy mappanevet, amelyből az üzeneteket szeretnéd fogadni. Az SMS gateway elküldi az összes üzenetet a mappából a Scala kliensalkalmazásodnak, és egy HTTP 200 OK választ küld vissza a kérésedre.
Scala kód SMS üzenetek fogadásához mobilra
Az alábbi Scala SMS kódminta bemutatja, hogyan küldhetsz ütemezett SMS-t az Ozeki SMS Gateway http rest sms api-jával, az Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető, és bármilyen projektben felhasználhatod és módosíthatod.
ReceiveSms.scalaimport Ozeki.Libs.Rest.{ Configuration, MessageApi } object main { def main(args: Array[String]): Unit = { val configuration = Configuration( Username = "http_user", Password = "qwe123", ApiUrl = "http://127.0.0.1:9509/api" ) val api : MessageApi = MessageApi(configuration) val result = api.DownloadIncoming() println(result) for (message <- result.Messages) { println(message) } } }
Hogyan használd a Scala SMS példát:
Ez a Scala SMS példa bármilyen Scala alkalmazásban használható. A használathoz le kell töltened az Ozeki.Libs.Rest könyvtárat. A könyvtár letöltése után hozzá kell adnod egy referenciát a Scala forráskódodhoz. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. A Message osztály segítségével létrehozhatod az SMS-t. A MessageApi osztály segítségével fogadhatod az SMS-t az SMS gateway felé. Az SMS gateway továbbítja az üzenetedet a mobilhálózat felé vezeték nélküli kapcsolaton vagy az interneten keresztül.
ReceiveSms.scala letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: ReceiveSms.scala.zip (90.6Kb)
Mi található a ReceiveSms.scala.zip fájlban?
A ReceiveSms.scala.zip fájlban található a ReceiveSms.scala fájl, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód az alábbiakban látható.
Hogyan kapjunk SMS-t Scalából (Egyszerű útmutató)
Az SMS fogadásához Scalából:
- Telepíts egy HTTP API felhasználót
- Kapcsold be a Kommunikációs események naplózását a Speciális lapon
- Állítsd be a Visual Studio-t
- Töltsd le, majd csomagold ki a ReceiveSms.scala.zip fájlt
- Nyisd meg a ReceiveSms.scala projektet az InteliJ IDE-vel
- Indítsd el az Ozeki SMS Gateway alkalmazást
- Futtasd a ReceiveSms.scala Scala kódot az IntelliJ IDE-ben
- Ellenőrizd a naplókat, hogy az SMS elküldődött-e
Telepítsd az Ozeki SMS Gateway-t és hozz létre egy HTTP API felhasználót
Ahhoz, hogy SMS-t tudj fogadni Scalából, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Scala kódodat fejleszted bármilyen szövegszerkesztőben, például a Windows notepadben. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobilhálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobilhálózati kapcsolatod működik. A környezet előkészítésének utolsó lépése, hogy létrehozol egy HTTP SMS API felhasználói fiókot. Hozz létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.
Miután a környezet beállításra került, futtathatod a Scala kódodat.
HTTP API URL az SMS fogadásához Scalából
Az SMS küldéséhez Scalából a Scala alkalmazásodnak HTTP kérést kell küldenie az SMS gateway felé. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd be. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol az R SMS alkalmazás fut, ez lehet 127.0.0.1. Ha másik számítógépre van telepítve, akkor annak az IP címét kell megadni.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés az SMS fogadásához Scalából
A Scala SMS kliens hitelesítéséhez a felhasználónevet és a jelszót egy base64 kódolt sztringben kell elküldened a szerver felé egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). Scalában a következő kódot használhatod a kódoláshoz:
val usernamePassword = "%s:%s".format(Username, Password).getBytes() val usernamePasswordEncoded = Base64.getEncoder.encodeToString(usernamePassword) "Basic %s".format(usernamePasswordEncoded)
Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolt sztringet kapod: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés fejléc az SMS fogadásához Scalából
Az SMS üzenetek fogadásához a következő sorokat kell belefoglalnod fejlécnek az HTTP kérésbe. Figyeld meg, hogy tartalmazunk egy tartalomtípust és egy Authorization fejlécet.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés az SMS fogadásához Scalából
Az SMS beküldéséhez a Scala alkalmazásod egy olyan HTTP kérést küld, mint az alábbi. Figyeld meg, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy http törzs részt. A HTTP törzs egy JSON kódolt adatsztring. Tartalmazza a címzettek számát és az üzenetek szövegét.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 HTTP2-Settings: AAEAAEAAAAIAAAABAAMAAABkAAQBAAAAAAUAAEAA Connection: Upgrade, HTTP2-Settings Upgrade: h2c Content-Length: 0 Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: Java-http-client/16.0.1
HTTP válasz, amit a Scala SMS példa kap
Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy státuszkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolt struktúrát is visszaad, amely hasznos részleteket nyújt az üzenet beküldéséről.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.123 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Thu, 15 Jul 2021 11:23:02 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "bf1960cf-1474-40ac-85aa-5487a6edeb7f", "from_connection": "http_user@localhost", "from_address": "+36202222222", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 2", "create_date": "2021-07-13 11:51:57", "valid_until": "2021-07-20 11:51:57", "time_to_send": "2021-07-13 11:51:57", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "df87cdf8-6e8b-4c99-a648-d2f24231bf04", "from_connection": "http_user@localhost", "from_address": "+36201111111", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 1", "create_date": "2021-07-13 11:51:57", "valid_until": "2021-07-20 11:51:57", "time_to_send": "2021-07-13 11:51:57", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "7308e035-f92d-4515-9d21-9bb80ef26e74", "from_connection": "http_user@localhost", "from_address": "+36203333333", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 3", "create_date": "2021-07-13 11:51:57", "valid_until": "2021-07-20 11:51:57", "time_to_send": "2021-07-13 11:51:57", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
Hogyan kapjunk SMS-t Scalából a Scala SMS API segítségével (Videó útmutató)
Ez a videó bemutatja, hogyan töltheted le a ReceiveSms.scala.zip fájlt erről az oldalról. Ha megnézed a videót, észreveszed, hogy a ReceiveSms.scala.zip tartalma a Windows asztalra kerül. Azt is látni fogod, hogy a parancssort használjuk az SMS küldéséhez.
Scala SMS példa: ReceiveSms.scala
Az alábbi példakód a ReceiveSms.scala része.
Hogyan ellenőrizd, hogy az SMS-t elfogadta-e az HTTP felhasználó
Az SMS beküldése után érdemes ellenőrizni az SMS gateway-t, hogy mit kapott. A naplót az Ozeki SMS Gateway kezelőfelületén keresztül tekintheted meg, ahol az HTTP felhasználó részleteit megnyitva láthatod. A következő videó bemutatja, hogy mire kell figyelni.
Összefoglalás
Ez az útmutató bemutatta az SMS fogadásának alapvető lépéseit Scalában az Ozeki SMS Gateway segítségével. Ha minden lépést gondosan követettél, a bejövő üzenetek továbbítása egy Scala programba nagyon egyszerűnek kell lennie. Ezzel a megoldással biztosíthatod, hogy ezek az üzenetek oda kerüljenek, ahová kell. Fontos megjegyezni, hogy az Ozeki SMS Gateway egy olyan környezetben fut, amelyet te irányítasz, így a névjegyzeted és az adataid biztonságban vannak.
Folytasd az olvasást az Ozeki oktatóoldalán, ahol további információkat találsz olyan témákról, mint SMS ütemezése Scalában.
Most már csak annyi a teendő, hogy letöltöd az Ozeki SMS Gateway-t és elkezdesz dolgozni!
More information