Webから電話を簡単に操作できるAPI「Twilio」について解説する本連載。第1回ではTwilioの概要と魅力を(関連記事)、第2回ではサンプルを交えて実際の使い方を(関連記事)紹介しました。今回は、Twilio クライアントを利用してシンプルなWebアプリケーション「脱出ヘルパー」を作ってみましょう。
長い会議や飲み会から逃げ出せる「脱出ヘルパー」
「脱出ヘルパー」とは、長引いている会議やイヤな飲み会から抜け出したいときに、自分に電話をかけてくれるアプリです。似たようなスマホアプリもありますが、擬似的な電話アプリではなく本当に電話がかかってくるので、他人に疑われることなく、その場から確実に脱出できます。サラリーマンによくあるシチューエーション(幸い、筆者はあまりないですが)に陥ったときに、脱出の手助けをしてくれるツールがあれば便利ですよね。
脱出ヘルパーで実装する機能を見ていきましょう。シチューエーションを考えると、スマートフォンでシンプルに使えるものがよさそうです。今回は最低限の機能のみを実装します。
- スマートフォンで手早く利用できる
- 登録した時間を経過すると電話がかかってくる
- 用途ごとに登録したメッセージを読み上げてくれる
今回のゴールは簡単に動くアプリを作ることなので、エラー処理の実装やデザインの調整はしていませんが、適宜カスタマイズして使ってください。
まずは開発環境を準備していきましょう。
環境を構築する
Twilioではさまざまな言語やフレームワークに対応したHelperライブラリーが提供されていますので、自身が得意とする環境で開発できます。脱出ヘルパーは、開発言語にPHP、フレームワークに「FuelPHP」、サーバー環境にPaaS「ニフティクラウド C4SA」を利用して開発します。
サーバーを起動して開発環境を準備しましょう。いちからサーバーを用意するのは時間がかかりますので、PaaS型サービス「ニフティクラウド C4SA」を利用します。ニフティクラウド C4SAは、FacebookやTwitterのアカウントがあればすぐに利用できるPaaSサービスです。15日間は無料で利用できます。
ログインすると新規キャンバスを作成できます。「Canvas S」を選択します。
続いて、コンテクスト選択画面が表示されますので今回利用する「FuelPHP」を選択して、キャンパス名を入力しましょう。
これでサーバーの準備はできあがりです。
続いて、FuelPHPの設定をしていきます。「Twilio APIライブラリ」から提供されているHelperライブラリーをダウンロードします。
ダウンロードした後は下記手順でセットアップします(詳しくはこちら)。
1. パッケージのアップロード
home/fuel/packages 配下にzipファイルでアップロードします(アップロード後に展開されます)。
2. configファイルをコピー
home/fuel/packages/twilio/config/twilio.php を home/fuel/app/config/にコピーします。
3. configファイルの修正
「twilio.php」内の以下の部分を自分のTwilioアカウント環境に合わせて修正します。
home/fuel/app/config/twilio.php
20 'account_sid' => 'ACxxxxxxxx',
21 'auth_token' => 'xxxxxxxxx',
22 'from' => ''+8150xxxxxxxx, ※
fromは必ずTwilioで発行した番号を設定する必要があります。
また、今回のアプリ用にあわせてsay動詞の「language」を「日本語」に、「loop」を「5」としておきます。
80 'say' => array(
81 'voice' => 'woman',
82 'language' => 'ja-JP',
83 'loop' => '5'
84 ),
4. オートロード設定
config.php内の下記個所を修正して、Twilioパッケージを自動的に読み込むようにします。
home/fuel/app/config/config.php
199 'always_load' => array(
省略
212 'packages' => array(
213 //'orm',
214 'twilio',
215 ),
これで環境構築は完了です。