views4GCPのストレージサービスについてまとめてみた。Exp:190284普段はGCP専門のエンジニアをやっています。最近は個人的な活動としてGOとswiftでアプリ作ってます。G+TweetShareHatena注意この記事は2014年5月27日に更新されたもので、内容が古い可能性がありますのでご注意ください。AppEngineでTwilioを試してみた(基本編)AppEngineでTwilioを試してみた(応用編)目次はじめにSMSメッセージを送信してみる音声メッセージを保存してみるまとめはじめに前回は基本編ということで、twilioの簡単な説明とプログラム(電話をかけると言葉を出力する)の説明をおこないました。今回はtwilioの応用編ということで、SMSメッセージの送信から通話記録の保存までを取り上げます。-前回の記事(基本編)はコチラです。https://apps-gcp-tokyo-02.appspot.com/twilio-basic/※開発環境に関しても前回の記事を参考にしてください。SMSメッセージを送信してみる指定のサーバからSMSメッセージを送信する方法について説明します。この仕組みを利用すればGoogleが提供するような2段階認証を簡易に実装することが可能となります。それでは実際にプログラムからSMSメッセージを送信するための手順について説明します。(1)認証キーの準備SMSメッセージを送信するためには以下2つの認証キーが必要となります。Settings」から取得可能です。・ACOUNT_SID・AUTH_TOKEN(2)電話番号の購入SMSを利用する場合、SMSに対応した電話番号を購入します。日本リージョンで購入できる電話番号がSMSに対応していないため、SMSを利用するためにはアメリカの電話番号を購入する必要があります。米国番号は月額税込み150円(一つにつき)となります。購入にはクレジット番号の登録も必要となります。最初にtwilioから発行される番号もSMSには対応していません。料金については以下をご参考ください。http://twilio.kddi-web.com/price/画像1.電話番号の購入(3)SMSメッセージを送信するサーブレットの作成アカウント画面から取得したACCOUNT_SIDとAUTH_TOKENを以下のようにプログラム内に記載します。(2)で購入した電話番号は送信先の”FROM”に設定してください。SMS送信サーブレットのURL定義(4)デプロイ作成したプログラムをEclipseからデプロイします。(5)実行してみる作成したサーブレットのURLにアクセスし、以下のSMSメッセージを受信できればプログラムの実行は成功となります。※受信をおこなう電話番号は(2)のサーブレットで記載した送信先番号(To)となります。SMSメッセージ音声メッセージを保存してみる電話の通話内容を保存する方法について説明します。通話内容の保存先はtwilioのサーバとなります。ユーザ側で取得できるのは音声データの保存先のURLとなります。本章では、音声の録音から音声データ共有ページの作成までをおこないます。・保存料金について音声録音は10,000分までは無料となり、それを超過した場合は1分につき0.1円がかかります。※詳細は以下のURLを参考にしてください。録音twiMLを出力するサーブレットを作成します。録音をおこなうためには<Record>タグを利用します。タグ属性の説明とサーブレットサンプルは以下の通りです。・action録音データを取得するサーブレットのURLを指定します。・methodGETまたはPOSTを指定します。・maxLength録音時間(秒数)を指定します。・finishOnKey録音を終了する電話キーを指定します。Say("ろくおんがおわったらしゃーぷをおしてください。Say("エラーが発生しました。API)を利用します。サンプルサーブレットは以下の通りです。Say("ろくおんがかんりょうしました。録音情報を保存するサーブレット(3)録音情報の一覧を表示するサーブレットの作成データストアから録音データの一覧を取得し画面に表示します。サンプルサーブレットは以下の通りです。録音情報(4)3つのサーブレットをweb.xmlに定義(1)?(3)で作成したサーブレットをweb.xmlに定義します。コード...<servlet><servlet-name>RecordList</servlet-name><servlet-class>sample.RecordListServlet</servlet-class></servlet><servlet-mapping><servlet-name>RecordList</servlet-name><url-pattern>/recordList</url-pattern></servlet-mapping><servlet><servlet-name>Record</servlet-name><servlet-class>sample.RecordServlet</servlet-class></servlet><servlet-mapping><servlet-name>Record</servlet-name><url-pattern>/record</url-pattern></servlet-mapping><servlet><servlet-name>RecordTwiml</servlet-name><servlet-class>sample.RecordTwimlServlet</servlet-class></servlet><servlet-mapping><servlet-name>RecordTwiml</servlet-name><url-pattern>/recordTwiml</url-pattern></servlet-mapping>...(5)デプロイ作成したプログラムをEclipseからデプロイします。web.xmlで設定したサーブレットURLにアクセスし、以下のtwiMLが出力されることを確認します。録音twiML(6)RequestURLの登録twilioのアカウントページにログインし、対象の電話番号に対してRequestURLを登録します。※本サンプルでは「SMSメッセージを送信してみる」の章で購入した電話番号を利用します。録音twiMLの登録(7)実際に電話をかけて録音してみる実際に録音twiMLが登録された番号(以下の電話番号)に対して電話をかけてみます。通話が始まると「録音が終わったら#(シャープ)を押してください。」というメッセージが流れるので、メッセージが流れ終わったら何かメッセージを録音してみます(録音の終了は#ボタン)。010-1-510-403-8862※こちらの電話番号はしばらく公開しておきますので、興味がある方は録音してみてください。一定期間後に削除する可能性がありますので、そのときはご了承ください。録音した音声の一覧は以下のURLから確認することができます。録音データを再生する場合は「再生」するリンクをクリックしてください(画像4参照)。APIライブラリを利用して作成しました。実際に作ってみれば実感できると思いますが、このライブラリを利用すれば非常に簡易に電話やSMSを利用したサービスを作成することができます。今回はJAVAを取り上げましたが、ライブラリはその他にもPython、PHP、C#、Ruby等の言語にも対応しているので、幅広い開発者が手をつけやすいAPIであると言えると思います。twilioは一般のクラウドサービスと同様にクレジットカードがあれば誰でも簡単にすぐにでも始めることができます。今回のtwilioの記事をキッカケに新規サービスや既存のシステムに組み込んでみては如何でしょうか。