Python >> Tutoriel Python >  >> Python

Comment envoyer des messages photo MMS avec Python

Les messages image et vidéo du service de messagerie multimédia (MMS) sont une extension courante du système de service de messages courts (SMS) pour l'envoi de messages textuels. L'utilisation d'une interface de programmation d'applications (API) Web avec Python facilite l'envoi de messages MMS à partir d'une application Web ou d'un script. Dans ce court didacticiel, nous apprendrons comment ajouter la capacité d'envoi de MMS à une application Python nouvelle ou existante.

Outils dont nous avons besoin

Python 2 ou 3 fonctionne pour le code de ce tutoriel. Assurez-vous simplement que l'une de ces deux versions est installée sur votre système en vous rendant sur le terminal et en tapant python --version .Les autres dépendances de ce didacticiel incluent :

  • Python version 2 ou 3
  • pip et virtualenv pour gérer la dépendance d'une application
  • Un compte Twilio gratuit pour utiliser leur API web MMS
  • Bibliothèque d'assistance Twilio Python, version 6.0.0 ou ultérieure

Si vous ne savez pas comment installer pip et virtualenv, consultez les premières étapes du guide de configuration de Python 3, Flask et Green Unicorn sur Ubuntu 16.04 LTS.

API Web Twilio

Notre exemple d'application Python simple utilisera l'API Web Twilio pour envoyer des messages d'image. Allez sur le site Web Twilio inscrivez-vous pour un compte d'essai gratuit. Si vous avez déjà un compte Twilio (et vous devriez car cela facilite l'ajout de presque tous les types de communications aux applications !), alors connectez-vous à votre compte existant.

En mode d'essai, Twilio peut envoyer des MMS à un numéro de téléphone validé associé au compte. Lorsque vous serez prêt à envoyer des messages MMS vers n'importe quel téléphone dans n'importe quel pays, vous devrez mettre à niveau votre compte.

Après avoir créé un compte Twilio, vous recevrez votre propre numéro de téléphone qui sera utilisé pour envoyer des messages. Ce numéro de téléphone peut envoyer des messages MMS sortants sans aucune configuration. Il peut également recevoir des messages, mais cela nécessite de modifier le webhook URL de demande dans l'écran des détails du numéro de téléphone.

Installation de notre dépendance

Nous utiliserons la bibliothèque d'assistance twilio en tant que dépendance pour notre code Python. La bibliothèque d'aide peut être installée via le pip commande, qui extrait le code de PyPI dans notre virtualenv local. Dans ce tutoriel, nous appellerons notre virtualenv pymms mais vous pouvez lui donner le nom que vous voulez pour votre application.

Nous devons créer le virtualenv avant de l'utiliser. Dans votre terminal saisissez :

virtualenv pymms

Si vous devez installer virtualenv, consultez le guide de configuration de Python 3, Django et Green Unicorn sur Ubuntu 16.04 LTS.

Activez le virtualenv avec le source commande.

source pymms/bin/activate

L'invite de commande changera pour ressembler à ceci après son activation :

Installez maintenant la bibliothèque d'assistance Twilio Python.Assurez-vous d'installer la version 6.0.0 ou la version actuelle ultérieure, car la syntaxe de ce code a légèrement changé par rapport aux versions antérieures de la bibliothèque d'assistance avant 6.0.0.

pip install twilio>=6.0.0

Une fois la bibliothèque d'assistance installée, nous pouvons l'utiliser dans notre code Python.

Envoi de MMS depuis Python

Lancez l'interpréteur Python en exécutant le python commande dans votre terminal. Vous pouvez également créer un nouveau fichier nommé send_mms.py si vous souhaitez réutiliser le code après l'avoir essayé.

Nous devons récupérer les informations d'identification de notre compte dans la console Twilio pour connecter notre code Python à notre compte Twilio. Accédez à la console Twilio et copiez le SID du compte et le jeton d'authentification dans votre code Python.

Entrez le code suivant dans le nouveau fichier Python ou copiez-le à partir de ce référentiel GitHub qui contient tous les exemples de code de blog.

# import the Twilio client from the dependency we just installed
from twilio.rest import Client

# the following line needs your Twilio Account SID and Auth Token
client = Client("ACxxxxxxxxxxxxxx", "zzzzzzzzzzzzz")

# this is the URL to an image file we're going to send in the MMS
media = "https://raw.githubusercontent.com/mattmakai/fullstackpython.com/master/static/img/logos/f.png"

# change the "from_" number to your Twilio number and the "to" number
# to the phone number you signed up for Twilio with, or upgrade your
# account to send MMS to any phone number that MMS is available
client.api.account.messages.create(to="+19732644152",
                                   from_="+12023351278",
                                   body="MMS via Python? Nice!",
                                   media_url=media)

Toutes les lignes ci-dessus commençant par # sont des commentaires pour vous donner un contexte pour ce que fait chaque ligne. Après avoir saisi ce code dans l'interpréteur ou exécuté le script Python avec python send_mms.py Twilio enverra votre MMS.

Dans quelques secondes, vous devriez voir un message apparaître sur votre téléphone. Notez que le MMS peut prendre un peu plus de temps car votre téléphone doit télécharger l'image. J'utilise un iPhone, alors voici à quoi ressemblait le message lorsque je l'ai reçu :

C'est tout ce dont vous avez besoin pour envoyer des MMS à un téléphone. Résultat assez impressionnant pour quelques lignes de code Python, non ? Ce code peut être ajouté à n'importe quel programme Python pour envoyer des MMS sortants.

Une dernière remarque :gardez votre jeton d'authentification Twilio secret, sinon toute personne qui l'obtiendra pourra envoyer et recevoir des messages via votre compte.

Des questions? Contactez-moi via Twitter@fullstackpythonor @mattmakai. Je suis également sur GitHub avec le nom d'utilisateur mattmakai.

Vous voyez quelque chose qui ne va pas dans ce message ? La source de cette page sur GitHuband soumet une pull request.