初心者エンジニアが何か書く

〜技術ブログメイン〜

TwilioAPIでHelloMonkeyを言わせてみる

プログラムから電話がかけられるTwilioAPIを使ってみた.

一応,Twilioさんが用意した電話番号に自分のスマホから電話すると,「Hello Monkey」と返事してくるぐらいまではやれた.ものすごく時間がかかったけどね...

その手順を紹介します.Twilioについての紹介は面倒,別記事に良い説明があるのでURLを載せておきますので,参照すると良いです.

 

HelloMonkeyを電話で言わせるまでの手順

  1. Twilioについて調べた
    内部で何やっているかざっとわからんと,やりにくいので調べます
    Twilio をはじめるのに知っておくと良いこと6つ(Twilio API勉強会@大阪) - Shin x blog

  2. Rubyでやってみる

    Rubyが初めての人でも使えるように分かりやすいドキュメントがあるのは嬉しい.
    書いてある通りに,いろいろインストール.
    Twilio Docs - Ruby Install

  3. Twilioマックアップ言語を少し知る(Twilioに命令するためのXMLのこと)
    Rubyでマックアップ言語を出力させれば,その通りにTwilioさんが動いてくれし,しゃべってくれる. 

    Twilio Docs - Quickstart Ruby TwiML

  4. TwilioをRubyで利用してみる[環境構築]

    Twilio Docs - Quickstart Ruby Devenvironment
    twimi-quickstart.rbはコピペして,実行すれば簡単にできていいのだが,
    次の「Twilioにサーバーを見つけさせる」のが少し面倒だった.f:id:inobo52:20140901191625p:plainTwilioにサーバーを見つけさせるには,二つの方法がある

  • 外部からアクセスしているサーバーにプログラムを置く
  • ローカルのサーバーを外部からアクセスできるようにして,プログラムを置く.

    前者の方法は,ロリホップやAmazonWebServiceなどのサーバーをレンタルする必要があって,今までやったことがあるので,今回は後者をやってみた.
    外部からアクセスできるようにするには,「Ngrok」が利用しました.f:id:inobo52:20140901191217p:plain

    ngrok - secure introspectable tunnels to localhost

ngrokを利用すると,ローカルサーバーに置いたプログラムを外部からアクセスできるようになります.そんで,書いたコードが以下のものです.

  

 

本当は,動的にXMLを出力するようにしたかったけど,何故上手くいかなかったので,仕方がなく print で出力する仕様.これをサーバー上に置く.

最後にTwilioの電話番号とローカルサーバーを同期させれば完了.
以下のようにすればOK.

 

f:id:inobo52:20140901201427p:plain

 

Twilioの番号に電話をかけると,何でも良いので数字を入力しろと言われるので,入力.すると,「Hello Monkey」と言ってくれた.

 

コードうんぬんより環境準備するだけで,なんか疲れた.