Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now
Build the future of communications.
Start building for free
  • By Miguel Grinberg
    How to Verify Phone Numbers in a Django Application with Twilio Verify How to Verify Phone Numbers in a Django Application with Twilio Verify

    When building a user registration and authentication system for your web application, you run the risk of not properly detecting fake or duplicate accounts. A very effective way to reduce this risk is to require users to verify their accounts right after they register.

    In this tutorial I’m going to show you how to extend the Django authentication system to include an SMS verification step in the user registration flow, using the Twilio Verify service. Among other things, you will learn how to:

    • Customize the user database model
    • Ask for additional information in the user registration page
    • Send and check SMS verification codes with the Twilio Verify service
    • Prevent access to parts of the application to users that haven’t verified their accounts

    Project demonstration

    Ready to begin? Let’s go!

    Prerequisites

    To follow this tutorial you need the following items:

    • Python 3.6 or newer. If your operating system does not provide a Python …
    Read More
  • By Miguel Grinberg
    Pythonで環境変数を活用する environment-variables-python

    この記事はMiguel Grinbergが執筆したこちらの記事(英語)を日本語訳したものです。

    Pythonアプリケーションを構成する際は、環境変数を使用すると非常に便利です。構成を変更する場合に、ソースコードを編集する必要がなくなります。一般的な構成アイテムのうち、環境変数を使用してアプリケーションに渡すことが多いものとしては、サードパーティのAPIキーやネットワークポート、データベースサーバー、アプリケーションの正常な動作に必要なカスタムオプションなどがあります。

    この記事では、Pythonで環境変数を使用するためのテクニックやツールを紹介します。

    Pythonから環境変数にアクセスする方法

    os.environ辞書を使用する

    Pythonでは、os.environ辞書がすべての環境変数を保持しています。アプリケーション内から変数を取得する最も簡単な方法は、標準的な辞書型の構文を使用することです。以下の例は、USERという名前の環境変数にアクセスする方法を示しています。

    >>> import os
    >>> user = os.environ['USER']
    >>> user
    'miguel'
    

    この方法を使用し、存在しない環境変数をインポートしようとすると、KeyError例外が発生します。

    >>> database_url = os.environ['DATABASE_URL']
    Traceback (most recent call l …
    Read More
  • By Miguel Grinberg
    Evaluate the Performance of your Website for Free with Loader.io Evaluate the Performance of your Website for Free with Loader.io

    Do you have an approximate idea of what the average response time of your website is? Or how many requests per second it can handle? If you plan to grow your website you must have an idea of what its current limits are, so that you can adapt to increasing demand and scale accordingly.

    In this short tutorial I’m going to show you how to evaluate the performance of your website using loader.io, a free cloud-based load testing service.

    Loader screenshot

    Requirements

    The main requirement to follow this tutorial is access to a deployed web application that you’re interested in evaluating for performance.

    The Loader service evaluates performance of HTTP requests, so the types of applications that can be evaluated are those that provide data services to a front end application (often called web APIs) or standard web applications built with server-side frameworks such as Ruby on Rails, Express, or Django. …

    Read More
  • By Miguel Grinberg
    Make a Phone Call with a Duration Limit Using Python and Twilio Programmable Voice Make a Phone Call with a Duration Limit Using Python and Twilio Programmable Voice

    Twilio Programmable Voice allows you to make programmatic voice calls directly from your application. This service was recently expanded to support a call duration limit, which can be a useful way to avoid unexpected expenses from calls that remain connected for a long time.

    In this tutorial, you’ll learn how to use Programmable Voice with Python to make a voice call with a predefined maximum duration.

    Prerequisites

    Setting up your environment

    In this section, you …

    Read More
  • By Miguel Grinberg
    Twilio Verifyを使用したFastAPIのメールアドレス認証 Email-Address-Verification-in-FastAPI-using-Twilio-Verify-jp

    このBlogはTwilio Principal Software Engineer for Technical ContentのMiguel Grinbergこちらで公開した記事を日本語化したものです。

    大半のWebアプリケーションでは、サインアッププロセス中に、ユーザーのメールアドレスを受け付けます。不正アカウントの作成を防ぐには、指定されたメールアドレスでユーザーがメールを受信できることを確認するという方法が常に有効です。

    Twilio Verifyは、SMS、音声通話、メールを介して数値コードを送信しユーザー確認を行えるサービスです。このチュートリアルでは、メールを使用した検証フローをFastAPIアプリケーションに実装する方法について説明します。

    fast api email verification example

    チュートリアルの要件

    • Python 3.6以降 - オペレーティングシステムにPythonインタープリターがない場合は、python.orgからインストーラーをダウンロードしてください
    • Twilioアカウント - 初めてTwilioを利用する場合は、こちらをクリックして無料アカウントを作成してください。このリンクを用いてアカウントを作成すると有料アカウントへのアップグレード時に使える10ドルのクレジットを進呈します。トライアルアカウントの制限についてはこちらを確認してください
    • SendGridアカウント。こちらをクリックして無料アカウントを作成してください。このアカウントでは1日最大100通のメールを送信できます

    SendGridの設定

    メール認証ソリューションを設定するには、Twilioアカウ …

    Read More
  • By Miguel Grinberg
    How To Send a WhatsApp Message in 30 Seconds with Golang How To Send a WhatsApp Message in 30 Seconds with Golang

    Twilio is all about powering communication conveniently and quickly in any programming language.

    In this tutorial you’ll learn how to deliver a message or notification via WhatsApp with a few lines of Go that can be added to any application with the new Twilio Go Helper Library. Ready? Let's get started!

    Tutorial requirements

    The Twilio WhatsApp sandbox

    Twilio provides a WhatsApp sandbox, where you can easily develop and test your application. Once your application is complete …

    Read More
  • By Miguel Grinberg
    Tailwind CSSを使用したWebサイトのスタイル方法 tailwind css

    の記事はMiguel Grinbergこちら(英語)て執筆した記事を日本語化したものです。

    Webサイトのルックアンドフィールを定義する作業は大変です。HTMLドキュメントの体裁や見栄えを記述するためのCSS(カスケーディングスタイルシート)言語は、コードが長くなり、複雑で整合性も取りづらく、ブラウザごとの実装も統一されていません。CSSの使用に関する問題点を減らすため、さまざまなCSSフレームワークが、入念な設計と検証に基づいた再利用可能なユーザーインターフェイスコンポーネントを提供しています。しかし、こうしたフレームワークを使用すると、同じフレームワークで開発されたほかのWebサイトと一線を画すスタイルを打ち出すことはなかなかできません。

    この記事では、Tailwind CSSを紹介します。このローレベルCSSフレームワークには、ブラウザに関係なく再利用できるユーティリティクラスがすべて用意されており、独自のルックアンドフィールでサイトを構築できます。

    Tailwind CSSを試してみる

    Tailwind CSSについて理解を深める最も簡単な方法は、空白のHTMLページを作成して公式のTailwind CSS定義をインクルードし、あれこれ試してみることです。ただし、これは本番サイトにTailwind CSSを実装する方法としてはお勧めしませんので注意してください。さまざまな実装オプションについては後半で説明します。

    ここでは、以下のように簡単なHTMLファイルを作成することから始めましょう。

    <!doctype html& …
    Read More
  • By Miguel Grinberg
    Add Custom Effect Filters to your Twilio Programmable Video Calls Add Custom Effect Filters to your Twilio Programmable Video Calls

    The Twilio Video JavaScript SDK has been recently enhanced with support for video processors, small effects, and filters that can be applied to the video tracks in a Programmable Video application.

    In a previous article, I showed you how to use the background blurring and replacement effects released as part of the Twilio Video Processors library. In this article, I’m going to show you how to create your own custom video effects.

    Face detection demo

    Prerequisites

    At the time I’m writing this article, video processors are only available for Chrome and other chromium-based web browsers. You can check the current list of supported browsers in the documentation for updates.

    What is a video processor?

    A video processor is a small JavaScript object that performs video processing transformations or effects. The structure of a video processor is shown below:

    myVideoProcessor = {
        processFrame: (inputFrame, outputFrame) => {
            // the video processing logic goes …
    Read More
  • By Miguel Grinberg
    Change the Background in your Video Calls with the Twilio Video Processors Library Change the Background in your Video Calls with the Twilio Video Processors Library

    Background replacement and blurring is a great feature offered by the biggest players in the video conferencing space, especially appreciated by those who have been forced to improvise a working space in their homes as a result of lockdown and stay-at-home measures implemented to combat the spread of COVID-19.

    This feature has now come to the Twilio Programmable Video product through the Twilio Video Processors JavaScript library. In this short tutorial, you are going to learn how to add video processing filters to a video stream captured by your web browser.

    Background effects demonstration

    Prerequisites

    At the time I’m writing this article, the Video Processors library only works in Chrome so you will need to use this browser. You can check the current list of supported browsers in the documentation for updates.

    The example application you are going to build as part of this tutorial is a JavaScript front end application hosted in …

    Read More
  • By Miguel Grinberg
    How to Send a Message on WhatsApp with cURL How to Send a Message on WhatsApp with cURL

    The WhatsApp Business API from Twilio is a powerful, yet easy to use service that allows you to communicate with your users on the popular messaging app.

    In this article, you’ll learn how to send a message to a user through WhatsApp using cURL, which would make this functionality accessible from shell scripts.

    Project demo

    Prerequisites

    To follow this tutorial you need the following items:

    The Twilio …

    Read More
  • Newer
    Older
    Sign up and start building
    Not ready yet? Talk to an expert.