Jak smazat SMS v Python flask

Nejjednodušší způsob, jak smazat SMS z Pythonu, je použít vestavené HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto API, smažete SMS zprávy odesláním HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat ID zpráv, které chceme smazat, formátované ve formátu JSON. SMS brána vrátí ID zpráv, které byly úspěšně smazány, a také odpoví HTTP 200 OK na váš požadavek.

jak smazat sms v python flask
Obrázek 1 - Jak smazat SMS v Python flask

Python kód pro smazání SMS

Níže uvedený ukázkový kód Pythonu pro SMS demonstruje, jak můžete smazat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny ozekilibsrest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.

DeleteSms.py

		from flask import Flask, render_template, request
		from ozekilibsrest import Configuration, Message, MessageApi, Folder
		app = Flask(__name__)
		
		configuration = Configuration(
		    username="http_user",
		    password="qwe123",
		    api_url="http://127.0.0.1:9509/api"
		)
		
		api = MessageApi(configuration)
		
		logs = []
		
		
		@app.route('/', methods=['GET', 'POST'])
		def index():
		    if request.method == 'POST':
		        message = Message(message_id=request.form['message_id'])
		
		        if request.form['folder'] == 'inbox':
		            log = api.delete(Folder.Inbox, message)
		        elif request.form['folder'] == 'outbox':
		            log = api.delete(Folder.Outbox, message)
		        elif request.form['folder'] == 'sent':
		            log = api.delete(Folder.Sent, message)
		        elif request.form['folder'] == 'notsent':
		            log = api.delete(Folder.NotSent, message)
		        else:
		            log = api.delete(Folder.Deleted, message)
		        logs.append(log)
		    return render_template('DeleteSms.html', logs=logs)
		
		
		if __name__ == '__main__':
		    app.run()
	

Kód 1 - DeleteSms.py

DeleteSms.html

		<!DOCTYPE html>
		<html lang="en">
		    <head>
		        <meta charset="UTF-8">
		        <title>Smazat SMS pomocí Ozeki SMS Gateway</title>
		        <link rel="stylesheet"
		        href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
		        integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
		        crossorigin="anonymous">
		    </head>
		    <body>
		        <form action="/" method="POST" class="form-group"
		        style="width: 40%; margin-top: 10vh; margin-left: 30%;
		        display: flex; flex-direction: column; height: 30vh;
		        justify-content: space-evenly;">
		            <b>ID:</b>
		            <input class="form-control" type="text"
		                   name="message_id" placeholder="ff44c9fb-1494-4457-8f59-5915dc16500d">
		            <b>Složka:</b>
		            <select class="form-control" name="folder">
		                <option value="inbox">Doručené</option>
		                <option value="outbox">Odeslané</option>
		                <option value="sent">Odeslané</option>
		                <option value="notsent">Neodeslané</option>
		                <option value="deleted">Smazané</option>
		            </select>
		            <input class="btn btn-primary"
		                   style="font-weight: 600;"
		                   type="submit"
		                   name="submit"
		                   value="SMAZAT">
		        </form>
		        <ul style="width: 40%; margin-left: 30%; height: 40vh; overflow-y: scroll;"
		            class="list-group card">
		            <li class="list-group-item card"><b>Logy:</b></li>
		            {% if logs %}
		                {% for log in logs %}
		                    <li class="list-group-item">{{ log }}</li>
		                {% endfor %}
		            {% endif  %}
		        </ul>
		    </body>
		</html>
	

Kód 2 - DeleteSms.html

Jak použít ukázkový kód Pythonu pro SMS:

Tento příklad SMS v Python flask lze použít v jakékoli aplikaci Python flask. Pro jeho použití musíte nainstalovat balíček ozekilibsrest pomocí příkazu pip install ozekilibsrest. Po instalaci balíčku musíte do hlavičkové části svého zdrojového kódu v Pythonu přidat direktivu from ozekilibsrest import Configuration, Message, MessageApi. To vám umožní používat třídy poskytované knihovnou ozekilibsrest. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes internet.

Stáhnout DeleteSms.py

Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: DeleteSms.py.zip (1.57Kb)

Co je ve složce DeleteSms.py?

Složka DeleteSms.py obsahuje skript ukázky SMS v Python flask, který vám ukáže, jak smazat SMS zprávy pomocí Pythonu.

složka delete sms py
Obrázek 2 - Co je uvnitř DeleteSms.py.zip

Jak nainstalovat knihovnu ozekilibsrest

Pro instalaci knihovny ozekilibsrest musíte otevřít příkazový řádek a použít následující příkaz. Tím se nainstaluje knihovna ozekilibsrest a její závislosti.

		pip install ozekilibsrest
	

Kód 2 - Příkaz pro instalaci knihovny ozekilibsrest

Jak nainstalovat knihovnu flask

Chcete-li nainstalovat knihovnu flask, musíte otevřít příkazový řádek a použít následující příkaz. Tím se nainstaluje knihovna flask a její závislosti.

		pip install flask
	

Kód 2 - Příkaz pro instalaci knihovny flask

Jak smazat SMS z Python flask (Rychlé kroky)

Pro smazání SMS z Python flask:

  1. Stáhněte a nainstalujte Python
  2. Nainstalujte knihovnu ozekilibsrest pomocí pip nebo codna
  3. Nainstalujte flask pomocí pip nebo codna
  4. Stáhněte soubor DeleteSms.py.zip
  5. Rozbalte soubor .zip ze složky Stažené
  6. Otevřete soubor DeleteSms.py v libovolném textovém editoru
  7. Spusťte Ozeki SMS Gateway
  8. Vytvořte HTTP API uživatele v Ozeki
  9. Spusťte kód DeleteSms.py pomocí příkazového řádku pro odeslání testovacích SMS zpráv
  10. Zkontrolujte složku Odeslané v Ozeki SMS Gateway

Instalace Ozeki SMS Gateway a vytvoření HTTP API uživatele

Abyste mohli odesílat SMS z Python flask, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj Python kód. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z Ozeki GUI a ověřit, zda vaše připojení k mobilní síti funguje. Posledním krokem k přípravě prostředí je vytvoření HTTP SMS API uživatele. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.

Po nastavení prostředí můžete spustit svůj Python kód.

HTTP API URL pro odesílání SMS z Python

Pro odesílání SMS z Python flask musí váš Python kód odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Poznámka: IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalován na stejném počítači, kde běží Python flask SMS aplikace, může to být 127.0.0.1. Pokud je nainstalován na jiném počítači, měla by to být IP adresa tohoto počítače.

		http://127.0.0.1:9509/api?action=rest
	

HTTP autentizace pro odesílání SMS z Python flask

Pro ověření Python flask SMS klienta musíte odeslat uživatelské jméno a heslo v base64 kódovaném řetězci na server v HTTP požadavku. Použitý formát je: base64(username+":"+password). V Pythonu můžete pro toto kódování použít následující kód:

	    def create_authorization_header(username, password):
	        username_password = f'{ username }:{ password }'
	        return f'Basic { b64encode(username_password.encode()).decode() }'
	

Například pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP hlavička požadavku pro odesílání SMS z Python flask

Pro odeslání SMS zpráv musíte do HTTP požadavku zahrnout následující řádky jako hlavičky. Poznámka: Zahrnujeme hlavičku Content-Type a Authorization.

		Content-Type: application/json
		Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP požadavek pro odesílání SMS z Python flask

Pro odeslání SMS zpráv bude vaše Python flask aplikace odesílat HTTP požadavek podobný níže uvedenému. Poznámka: Tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. Část těla obsahuje ID zpráv, které chceme smazat.

		POST /api?action=deletemsg HTTP/1.1
		Host: 127.0.0.1:9509
		User-Agent: python-requests/2.26.0
		Accept-Encoding: gzip, deflate
		Accept: */*
		Connection: keep-alive
		Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
		Content-Type: application/json
		Content-Length: 76
		
		{
			"folder": "inbox",
			"message_ids": [
				"af5819d4-e32f-4653-a6d4-8fb49017164e"
			]
		}
	

HTTP odpověď přijatá Python flask SMS příkladem

Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Bude také vracet JSON kódovanou strukturu, která vám poskytne užitečné detaily o odeslání zprávy.

		HTTP/1.1 200 OK
		Transfer-Encoding: chunked
		Content-Type: application/json; charset=utf8
		Last-Modified: Fri, 17 Sep 2021 09:14:01 GMT
		Server: 10/10.3.124 Microsoft-HTTPAPI/2.0
		User-Agent: OZEKI 10.3.124 (www.myozeki.com)
		Access-Control-Allow-Origin: *
		Date: Fri, 17 Sep 2021 07:54:08 GMT
		
		{
		  "http_code": 200,
		  "response_code": "SUCCESS",
		  "response_msg": "",
		  "data": {
		    "folder": "inbox",
		    "message_ids": [
		      "af5819d4-e32f-4653-a6d4-8fb49017164e"
		    ]
		  }
		}
	

Python flask SMS příklad: DeleteSms.py

Jak stáhnout projekt DeleteSms.py (Video návod)

V následujícím videu se dozvíte, jak můžete použít projekt DeleteSms.py v Python flask. Video začne na stránce ke stažení a provede vás až k otevřenému panelu editoru kódu. Dozvíte se, jak stáhnout a otevřít soubor s kódem. Video trvá pouze 54 sekund, ale obsahuje všechny potřebné informace pro úspěšné použití ukázkového souboru s kódem.

Video 1 - Jak stáhnout a otevřít výše uvedené řešení (Video návod)

Ukázkový kód níže je součástí složky DeleteSms.py.zip.

jak smazat SMS pomocí Python flask
Obrázek 3 - DeleteSms.py

Obrázek 4 - Spuštění ukázkové aplikace v příkazovém řádku

Obrázek 5 - Výsledek výše uvedeného Python kódu

Jak používat projekt (Video návod)

V následujícím klipu uvidíte, jak můžete spustit Python kód DeleteSms.py. Video začne otevřeným kódem a provede vás až k záložce událostí s protokolem odeslané zprávy. Uvidíte, jak spustit kód a co se stane, pokud byl kód proveden. Video je o něco kratší než 1 minuta, ale obsahuje všechny informace potřebné k spuštění projektu.

Video 2 - Jak používat skript DeleteSms.py (Video návod)

Závěr

Tento článek ukázal kroky pro smazání SMS v jednom požadavku z Python flask.

S těmito znalostmi a poskytnutými nástroji byste měli být schopni oslovit několik zákazníků jediným kódem. Ozeki SMS Gateway hraje v tomto procesu důležitou roli, protože tento program organizuje doručování zpráv. Ozeki SMS Gateway pracuje s vysokou kvalitou a výkonem, což vám umožňuje odeslat až 1000 SMS za sekundu.

Pokračujte ve svém vzdělávání na výukových stránkách Ozeki, kde si můžete přečíst o tématech jako odesílání SMS v Python flask.

Teď už vám zbývá jen stáhnout si Ozeki SMS Gateway a začít pracovat!

More information