Wie man SMS von R empfängt
Der einfachste Weg, SMS von R zu empfangen, ist die Verwendung der integrierten HTTP/Rest-SMS-API von Ozeki SMS Gateway. Wenn Sie diese API verwenden, erhalten Sie SMS-Nachrichten, indem Sie eine HTTP-Get-Anfrage an das SMS-Gateway senden. Die HTTP-Get-Anfrage enthält einen Ordner. Das SMS-Gateway sendet die SMS-Nachrichten an den Client und gibt eine HTTP-200-OK-Antwort auf Ihre Anfrage zurück.
R-Code zum Empfangen von SMS auf dem Handy
Das R-SMS-Codebeispiel unten zeigt, wie Sie eine SMS mit der HTTP-Rest-SMS-API von Ozeki SMS Gateway unter Verwendung der R Ozeki.Libs.Rest-Bibliothek empfangen können. Diese Bibliothek wird Ihnen kostenlos zur Verfügung gestellt, und Sie können sie in Ihren Projekten verwenden und ändern.
ReceiveSms.Rlibrary(Ozeki.Libs.Rest) configuration <- Ozeki.Libs.Rest::Configuration$new( username = "http_user", password = "qwe123", api_url = "http://127.0.0.1:9509/api" ) api <- Ozeki.Libs.Rest::MessageApi$new(configuration) result <- api$download_incoming() print(result$to_string()) for (message in result$messages) { print(message$to_string()) }
Wie man das R-SMS-Beispiel verwendet:
Dieses R-SMS-Beispiel kann in jeder R-Anwendung verwendet werden. Um es zu verwenden, müssen Sie die Ozeki.Libs.Rest-Bibliothek herunterladen. Nachdem die Bibliothek heruntergeladen wurde, müssen Sie einen Verweis darauf in Ihrem R-Quellcode hinzufügen. Dies ermöglicht Ihnen die Verwendung der Klassen, die von der Ozeki.Libs.Rest-Bibliothek bereitgestellt werden. Sie können die Message-Klasse verwenden, um die SMS zu erstellen. Sie können die MessageApi-Klasse verwenden, um die SMS an das SMS-Gateway zu empfangen. Das SMS-Gateway leitet Ihre Nachricht entweder über eine drahtlose Verbindung oder über das Internet an das Mobilfunknetz weiter.
ReceiveSms.R herunterladen
Der in diesem Artikel erklärte Quellcode kann kostenlos heruntergeladen, verwendet und geändert werden.
Download: ReceiveSms.R.zip (391B)
Was befindet sich in der ReceiveSms.R.zip-Datei?
In der ReceiveSms.R.zip finden Sie die Datei ReceiveSms.R, die den Beispielcode enthält, der Ihnen zeigt, wie Sie eine SMS empfangen können. Dieser Beispielcode ist unten aufgeführt.
Wie man SMS von R empfängt (Einfache Anleitung)
Um SMS von R zu empfangen:
- Installieren Sie einen HTTP-API-Benutzer
- Aktivieren Sie "Log communication events" auf der Registerkarte "Advanced"
- Richten Sie Visual Studio ein
- Laden Sie die ReceiveSms.R.zip-Datei herunter und entpacken Sie sie
- Starten Sie die Ozeki SMS Gateway App
- Führen Sie den R-Code ReceiveSms.R über die Eingabeaufforderung aus
- Überprüfen Sie die Protokolle, um zu sehen, ob die SMS gesendet wurde
Ozeki SMS Gateway installieren und einen HTTP-API-Benutzer erstellen
Um SMS von R empfangen zu können, müssen Sie zunächst Ozeki SMS Gateway installieren. Das SMS-Gateway kann auf demselben Computer installiert werden, auf dem Sie Ihren R-Code in einem beliebigen Texteditor wie Windows Notepad entwickeln. Nach der Installation ist der nächste Schritt, Ozeki SMS Gateway mit dem Mobilfunknetz zu verbinden. Sie können Erstellung eines HTTP-SMS-API-Benutzerkontos. Erstellen Sie einen Benutzer mit dem Benutzernamen "http_user" und dem Passwort "qwe123", damit das Beispiel ohne Änderungen funktioniert.
Nachdem die Umgebung eingerichtet ist, können Sie Ihren R-Code ausführen.
HTTP-API-URL zum Empfangen von SMS von R
Um SMS von R zu empfangen, muss Ihre R-Anwendung eine HTTP-Anfrage an das SMS-Gateway senden. Die API-URL wird unten angezeigt. Beachten Sie, dass die IP-Adresse (127.0.0.1) durch die IP-Adresse Ihres SMS-Gateways ersetzt werden sollte. Wenn Ozeki SMS Gateway auf demselben Computer installiert ist, auf dem die R-SMS-Anwendung läuft, kann dies 127.0.0.1 sein. Wenn es auf einem anderen Computer installiert ist, sollte es die IP-Adresse dieses Computers sein.
http://127.0.0.1:9509/api?action=rest
HTTP-Authentifizierung zum Empfangen von SMS von R
Um den R-SMS-Client zu authentifizieren, müssen Sie den Benutzernamen und das Passwort in einer base64-kodierten Zeichenfolge in einer HTTP-Anfrage an den Server senden. Das verwendete Format ist: base64(Benutzername+":"+Passwort). In R können Sie den folgenden Code verwenden, um diese Kodierung durchzuführen:
username_password <- paste(username, ":", password, sep="") username_password_encoded <- base64enc::base64encode(charToRaw(username_password)) return (paste("Basic", username_password_encoded, sep=" "))
Wenn Sie beispielsweise den Benutzernamen 'http_user' und das Passwort 'qwe123' kodieren, erhalten Sie die folgende base64-kodierte Zeichenfolge: aHR0cF91c2VyOnF3ZTEyMw==. Um sie zu senden,
HTTP-Anfrageheader zum Empfangen von SMS von R
Um die SMS-Nachrichten zu empfangen, müssen Sie die folgenden Zeilen als Header in die HTTP-Anfrage aufnehmen. Beachten Sie, dass wir einen Content-Type-Header und einen Authorization-Header einfügen.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Um die SMS zu übermitteln, sendet Ihre R-Anwendung eine HTTP-Anfrage ähnlich der untenstehenden. Beachten Sie, dass diese Anfrage einen HTTP-Header-Teil enthält, der alle benötigten Daten enthält, um die Nachrichten aus einem bestimmten Ordner zu empfangen.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Content-Type: application/json Accept: application/json Accept-Encoding: deflate, gzip Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 User-Agent: libcurl/7.64.1 r-curl/4.3.2 httr/1.4.2
HTTP-Antwort, die vom R-SMS-Beispiel empfangen wurde
Sobald das SMS-Gateway diese Anfrage erhält, wird es eine HTTP-Antwort generieren. Die HTTP-Antwort enthält einen Statuscode, der anzeigt, ob die SMS-Übermittlungsanfrage erfolgreich war oder nicht. Sie enthält auch eine JSON-kodierte Struktur, die Ihnen nützliche Details über die Übermittlung der Nachricht liefert.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.123 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Tue, 13 Jul 2021 15:29:23 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": "85a57d61-808a-481b-98d7-6136bf87dce0", "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 12:46:23", "valid_until": "2021-07-20 12:46:23", "time_to_send": "2021-07-13 12:46:23", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "76d551d6-1096-4943-ae50-1efc71049b6f", "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 12:46:23", "valid_until": "2021-07-20 12:46:23", "time_to_send": "2021-07-13 12:46:23", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "52af9742-f533-4056-a9cf-2fb8d4ef0613", "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 12:46:23", "valid_until": "2021-07-20 12:46:23", "time_to_send": "2021-07-13 12:46:23", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
Wie man SMS von R mit der R-SMS-API empfängt (Video-Tutorial)
Dieses Video zeigt Ihnen, wie Sie die Datei ReceiveSms.R.zip von dieser Seite herunterladen. Wenn Sie das Video ansehen, werden Sie feststellen, dass die Inhalte der ReceiveSms.R.zip auf den Windows-Desktop platziert werden. Sie werden auch sehen, dass wir die Eingabeaufforderung verwenden, um die SMS zu empfangen.
R-SMS-Beispiel: ReceiveSms.R
Der untenstehende Beispielcode ist Teil der ReceiveSms.R.
Wie man überprüft, ob die SMS vom HTTP-Benutzer akzeptiert wurde
Nachdem die SMS übermittelt wurde, ist es eine gute Idee, Ihr SMS-Gateway zu überprüfen, um zu sehen, was es empfangen hat. Sie können das Protokoll überprüfen, indem Sie die Details des HTTP-Benutzers in der Ozeki SMS Gateway Management-Konsole öffnen. Das folgende Video zeigt Ihnen, worauf Sie achten müssen.
Fazit
Der Zweck dieser Anleitung war es, die Schritte zum Empfangen von SMS in R mit dem Ozeki SMS Gateway zu zeigen. Diese Lösung ermöglicht es Ihnen, die Nachrichten aus dem Posteingang-Ordner in Ihr R-Programm zu verschieben, sodass diese Nachrichten an ihrem Bestimmungsort gesammelt werden können. Das Ozeki SMS Gateway kann von der Ozeki-Website heruntergeladen werden und kann in einer Testphase kostenlos verwendet werden.
Stellen Sie sicher, dass Sie auf der Tutorial-Seite von Ozeki weiterlesen, wo es Artikel zu ähnlichen Themen gibt, wie z.B. SMS-Planung in R.
Das Einzige, was jetzt noch zu tun ist, ist das Ozeki SMS Gateway herunterzuladen und die Arbeit zu beginnen!
More information
- R SMS mit der HTTP REST API senden (Codebeispiel)
- R mehrere SMS mit der HTTP REST API senden (Codebeispiel)
- R SMS mit der HTTP REST API planen (Codebeispiel)
- R SMS mit der HTTP REST API empfangen (Codebeispiel)
- R SMS mit der HTTP REST API löschen (Codebeispiel)
- Wie man die neueste R SMS Bibliothek von Github herunterlädt