このページの本文へ

FuelPHPとTwilioで会議脱出アプリ作ってみた

2013年09月02日 11時00分更新

江草正庸/ニフティ

  • この記事をはてなブックマークに追加
本文印刷

 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  ),

 これで環境構築は完了です。

Web Professionalトップページバナー

この記事の編集者は以下の記事をオススメしています

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く