ゼロからはじめるぜ! Twilio – 第3回

20130711-01.jpg

こんにちは! Twilio チーム ネットワークエンジニアの まさ です。
今年の梅雨は大して雨も降らず、あっという間に明けましたね。水道局のサイトによれば、利根川水系のダム貯水率は 68% だそうです。

えーと ... どうなんでしょう、これは。数字が微妙すぎて、水を飲むのをもっと控えた方がイイのか、そんなこと気にせず仁王立ちでガブガブ飲み続けてればいいのか迷いますね (;-ω-)

さらに、今年7月の関東における気温予想は、なんと「平年より高い確率が 50%」とのこと。なるほど、そうきちゃったか。だったらもう、いっそのこと「全然わかんないの!!」って堂々と書いてくれたらいいのに。

さて、Twilio のお時間です。

前回は実際に Twilio を使って電話を架けてみました。非常に簡単でしたね(^-^) 今回は、少し複雑な処理にチャレンジしてみます。

今回の目標

電話を架けるとアナウンスが流れ、発信者にプッシュ操作を促し、ボタンに応じて次の処理が分岐する

発信者のボタン操作を収集するには <Gather> 動詞を使います。
<Gather> 動詞のドキュメント

 

<Gather> 動詞は、プッシュ操作を集め、その結果を URL パラメータに含めて指定の URL(action 属性で指定)を叩きます。

「押されたボタンに応じて処理が変わる」ということは、それぞれのボタンに対して何か TwiML を書けばいいんだな、と想像できますね。

しかし、前回チャレンジした TwiML は XML のため、パラメータを与えつつ URL を叩いても、XML 側がそのパラメータを受け取れません。よって、URL パラメータが取り出せるような何らかの手法を使う必要があります。

 

第 1 回目に書きましたが、私はネットワークエンジニアなので、この領域は専門外。全部 XMLでこの目標をクリアしてみようと考えたのですが、どうも無理そうです。何かしらのプログラミング言語を選ばざるを得ない。
そこで一番とっつきやすそうな PHP を選んでみました。ということで「はじめての PHP」も便乗でお送りします。

 

条件分岐は、種類を問わず、システムを構築する上で避けて通れないテクニックです。
「何だい、ゼロからはじめる割にはハードルが高すぎるじゃないか!」と怒るのはちょっと待ってください。
「ハードルが高すぎるなら、飛び超えるんじゃなく、下をくぐればいいじゃないの」と。
ここはひとつ、一緒に力を抜いて参りましょう(^-^)

 

まず、お使いのサーバ環境で PHP が動く準備をしてください。すでに PHP が動作する環境をお持ちの方は不要です。今回は、Twilio のお助けライブラリ(Helper ライブラリ)を使うため、PHP 5.3 以上が必要です。

Redhat 系 Linux をお使いであれば RPM がありますし、Cent OS の場合なら、以下のコマンドでインストールできます。

# yum install php53

「依存性がある RPM もいれる?」の質問には yes と答えてください。
結果、以下のような RPM がインストールされたはずです。

# rpm -qa | grep

phpphp53-common-5.3.3-13.el5_8
php53-5.3.3-13.el5_8
php53-cli-5.3.3-13.el5_8

お使いの Web サーバで PHP を動作させるために必要な設定も合わせて済ませてくださいね。
なお、今回使う Twilio のお助けライブラリですが、これを使うことで、PHP を用いた Twilio アプリをより簡単に作れるようになります。この先、PHP でやっていく方にはほぼ必須のアイテムですので、これを機会に入れておきましょう。

PHP のお助けライブラリは、ダウンロードして、Web からアクセス可能な領域にアップロードするだけで OK です。

 

まずはこちらのサイトにアクセス。

ここで 「twilio-php(ダウンロード .zip)」を選んでください。twilio-php-master.zip というファイルがダウンロードされますので、一度解凍してください。

 

20130711-02.jpg

このように解凍されます。必要なのはこのうち「Services」というフォルダだけです。これを ZIP か tar.gz で圧縮し、ご利用のサーバー環境にアップロードした上で、解凍します。
解凍後は、元の圧縮ファイルは要らないので消してください。私は、このようにしました。

 

20130711-03.jpg私の場合、この領域は http://hogehoge/twilio/Services/ という URL でアクセスできます。ちなみに「twiml」というディレクトリに XML を置くことにしました。もちろん、URL でアクセスできる領域であればご自身が整理しやすい方法で結構ですが、「Services」のディレクトリ名は変えないでください。

これで下準備ができました。

さあ、いよいよ実際に TwiML を作ります。が、それはまた次回に。
少し、ジラしてみました。一度やってみたかったんです。お楽しみに!

この記事をシェア

最新記事

すべての記事へ