Мультимедийные сообщения (MMS) с изображениями и видео – обычное дело. расширение к системе службы коротких сообщений (SMS) для отправки текста Сообщения. Используя интерфейс программирования веб-приложений (API) с Python позволяет легко отправлять MMS-сообщения из веб-приложения или сценарий. В этом коротком руководстве мы узнаем, как добавить возможность отправки MMS. в новое или существующее приложение Python.
Инструменты, которые нам нужны
Либо Python 2, либо 3 работает для кода в этом руководство. Просто убедитесь, что у вас установлена одна из этих двух версий. вашей системе, перейдя в терминал и набрав python --version
. К другим зависимостям этого руководства относятся:
- Python версии 2 или 3
- pip и
- virtualenv для обработки одного
- зависимость приложения
- Бесплатная учетная запись Twilio для использования своих
- Веб-API MMS
- вспомогательная библиотека Python Twilio ,
- версия 6.0.0
- или позже
Если вы не знаете, как установить pip и virtualenv, посмотрите на первых шагах как настроить Python 3, Flask и Green Unicorn на Ubuntu 16.04 LTS руководство.
Веб-API Twilio
Наш простой пример приложения Python будет использовать веб-API Twilio для отправки графические сообщения. Перейти на сайт Twilio зарегистрируйте бесплатную пробную учетную запись . Если у вас уже есть учетная запись Twilio (и вы должны, потому что это упрощает чтобы добавить к приложениям практически любые типы коммуникаций!) затем войдите в ваш существующий аккаунт.
В пробном режиме Twilio может отправлять MMS на подтвержденный номер телефона, связанный со счетом. Когда вы будете готовы отправлять MMS-сообщения на любой телефон в в любой стране вам придется обновить свою учетную запись.
После регистрации учетной записи Twilio вы получите свой собственный телефон. номер, который будет использоваться для отправки сообщений. С этого номера телефона можно отправлять исходящие MMS-сообщения без какой-либо конфигурации. Он также может получать сообщения, но это требует изменение веб-перехватчика URL-адреса запроса на экране сведений о номере телефона.
Установка нашей зависимости
Мы будем использовать вспомогательную библиотеку twilio . как зависимость для нашего кода Python. Можно установить вспомогательную библиотеку с помощью команды pip
, которая извлекает код из PyPI в наш локальный virtualenv. В этом руководство мы назовем наш virtualenv pymms
, но вы можете назвать его как угодно вы хотите для своего приложения.
Мы должны создать virtualenv перед его использованием. В вашем терминале введите:
virtualenv pymms
Если вам нужно установить virtualenv, взгляните на как настроить Python 3, Django и Green Unicorn на Ubuntu 16.04 LTS руководство.
Активируйте virtualenv с помощью команды source
.
source pymms/bin/activate
После активации командная строка изменится и будет выглядеть так:
Теперь установите Вспомогательная библиотека Python Twilio . Убедитесь, что вы установили версия 6.0.0 или более поздняя текущая версия, поскольку синтаксис для этого код немного изменен по сравнению с более ранними версиями вспомогательной библиотеки до 6.0.0.
pip install twilio>=6.0.0
После установки вспомогательной библиотеки мы можем использовать ее в нашем коде Python.
Отправка MMS из Python
Запустите интерпретатор Python, выполнив команду python
в ваш терминал. Вы также можете создать новый файл с именем send_mms.py
, если вы хотите повторно использовать код после того, как попробуем.
Нам нужно получить учетные данные нашей учетной записи из консоли Twilio для подключения наш код Python в нашу учетную запись Twilio. Перейти к Twilio Console и скопируйте SID учетной записи. и токен аутентификации в ваш код Python.
Введите следующий код в новый файл Python или скопируйте его из этот репозиторий GitHub, содержащий все примеры кода блога .
# 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)
Все строки выше, начинающиеся с #
, являются комментариями, чтобы дать вам некоторые контекст того, что делает каждая строка. После ввода этого кода в интерпретатор или запуск сценария Python с python send_mms.py
Twilio отправит ваше MMS.
Через несколько секунд вы должны увидеть сообщение на вашем телефоне – обратите внимание, что MMS может занять немного больше времени, потому что ваш телефон должен загрузить изображение. Я использую iPhone, поэтому вот как выглядело сообщение, когда я его получил:
Это все, что нужно для отправки MMS на телефон. Довольно отличный результат для несколько строк кода Python, верно? Этот код можно добавить на любой Python программа для отправки исходящих MMS.
И последнее замечание: держите свой токен Twilio Auth в секрете, иначе все, кто получает, он сможет отправлять и получать сообщения через вашу учетную запись.
Вопросов? Свяжитесь со мной через Twitter @fullstackpython или @mattmakai . Я также на GitHub с имя пользователя mattmakai .
Что-то не так в этом посте? Вилка исходный код этой страницы на GitHub и отправьте запрос на перенос.