views4GCPのストレージサービスについてまとめてみた。Exp:190284普段はGCP専門のエンジニアをやっています。最近は個人的な活動としてGOとswiftでアプリ作ってます。G+TweetShareHatena注意この記事は2014年5月15日に更新されたもので、内容が古い可能性がありますのでご注意ください。ユーザがtwilioから発行された電話番号に発信をおこなうと、リクエストがtwilioサーバに送信されます。(2)リクエストURL(GAE)への問い合わせ(3)TwiMLをレスポンスとして返却(4)モバイルへ音声メッセージの出力twiMLとは?(1)Sayタグ(2)Playタグ(3)Gatherタグ(4)Smsタグ(5)RedirectタグTwilioのアカウント登録(1)ユーザ情報の入力をおこない「利用開始」ボタンを押下します。Me」ボタンを押下します。(3)確認コードが記載されたSMSメッセージを受信したら、本コードを入力し「Submit」ボタンを押下します。(4)twillioからトライアル用の電話番号が発行されます。Platform(以下GCP)上のAPIについて検証をおこなってきました。これからGCP上で開発をおこないたいと考えている方の中には外部のAPIも利用してより幅の広いサービスを開発していきたいという方もいるかと思います。いうことで、今回はGCPサービスと連携可能なサードパーティのAPIにスポットを当ててみようかと思います。記念すべき第一回は「twillio」を取り上げてみます。Twilioとは?Twilioとは”電話”そのものをクラウド化したサービスのことで、開発者はハードウェアの購入をおこなわずに自前でコミュニケーションサービスを構築することができます。TwilioAPIを利用するユーザは一般のクラウドサービスと同様に利用した分だけ使用料金を支払います。初期費用は一切かかりません。今回は実際にTwilioアカウントを作成し音声メッセージの出力までを試してみました。APIを利用する方法について説明します。Twilioの仕組みTwilioとGAEの連携は以下のフローで動作します。twilioとGAEの連携(1)モバイルによる発信処理ユーザがtwilioから発行された電話番号に発信をおこなうと、リクエストがtwilioサーバに送信されます。(2)リクエストURL(GAE)への問い合わせtwilioサーバはあらかじめ開発者が設定しておいたリクエストURL(GAE)に対して、ユーザとのコミュニケーションを定義したTwiMLと呼ばれるXMLファイルをリクエストします。(3)TwiMLをレスポンスとして返却GAEサーバはtwileサーバに対してTwiMLを返却します。(4)モバイルへ音声メッセージの出力twilioサーバはTwiMLファイルで定義された挙動(音声出力・録音等)を実行します。twiMLとは?twiMLとは、電話からの発信を受信した場合の挙動を定義するためのXMLファイルです。twilioサーバはGAEからこのtwiMLを受け取り、ユーザとのコミュニケーションをおこないます。本章では、twiMLのタグをいくつかピックアップして紹介します。(1)Sayタグ通話による音声出力をおこなう場合はSayタグ内に出力する文字列を定義します。Sayタグの主な属性は以下の通りです。例1は、電話を発信すると2回「こんにちわ。」という音声を出力するサンプルtwiMLです。・voice音声を指定します。設定できる値は「man」「woman」「alice」です。aliceは、多数の言語をサポートする属性です。女性の声しかサポートしていません。日本語版の場合は3種類のうち「woman」しか対応していません。・language音声言語を指定します。日本語の場合は「ja-jp」を指定します。・loop繰り返す回数を指定します。loop="2">こんにちわ。Sayタグ(2)Playタグ通話中に音声ファイルを再生する場合はPlayタグ内に再生する音声ファイルのURLを定義します。Playタグの主な属性は以下の通りです。例2は、10回音声ファイルを再生するサンプルtwiMLです。・loop繰り返す回数を指定します。Playタグ(3)Gatherタグ携帯電話の入力キーを取得する場合はGatherタグを利用します。Gatherタグの属性は以下の通りです。例3は、携帯の入力キーを受け付けるサンプルtwiMLです。・method「GET」または「POST」を指定します。・action入力キーを受信するURLを指定します。URLは「Digits」というパラメータから入力キーを取得します。・finishOnKey入力を終了するためのキーを指定します。finishOnKey=”*”><Say>キーパッドからキーを入力してください。Gatherタグ※入力キーはGatherタグのactionで指定されたURLに送信されます。GAEから見たログは以下の通りです。キーパッドから”4”を入力した場合は、パラメータは「Digits=4」という形式で送信されてくることがわかります。?画像2.キー入力取得時のGAEログ(4)Smsタグ通話中にSMSメッセージを送信する場合はSmsタグを利用します。Smsタグの主な属性は以下の通りです。例4は、通話者に対してSMSメッセージを送信するサンプルtwiMLです。・to送信先を指定します。指定しない場合は通話したユーザ宛にメッセージが送信されます。・from送信元を指定します。指定しない場合は通話先の電話番号が送信元となります。encoding="UTF-8"?><Response><Say>電話を受け付けました。SMSメッセージを送信します。from=”+15104038862”>メッセージを送信しました。Smsタグ(5)Redirectタグ他のtwiMLを呼び出す場合はRedirectタグを利用します。Redirectタグの主な属性は以下の通りです。例5は、他のtwiMLにリダイレクトするサンプルtwiMLです。・method「GET」または「POST」を指定します。RedirectタグTwilioのアカウント登録Twilioのアカウント作成はとても簡単です。以下のURLにアクセスし「サインアップ」リンクをクリックしてください。https://jp.twilio.com/(1)ユーザ情報の入力をおこない「利用開始」ボタンを押下します。Me」ボタンを押下します。画像4.電話番号の認証(3)確認コードが記載されたSMSメッセージを受信したら、本コードを入力し「Submit」ボタンを押下します。画像5.確認コードの入力(4)twillioからトライアル用の電話番号が発行されます。これでアカウント作成は完了です。2つ目以降の電話番号を発行する場合は、アカウントのアップグレードをおこないます。アップグレードにはクレジット情報の入力が必要となります。AppEngineでTwilioの開発環境を構築するのはとても簡単です。以下のダウンロードをおこない、Eclipseに(3)のライブラリのビルドパスを設定してください。Engineの環境が整っている場合は、TwilioのHelperライブラリだけダウンロードしてください。apps-gcp!」という音声メッセージを出力するサーブレットプログラムを実行してみます。EclipseからAppEngineプロジェクトを作成し、以下のサーブレットを作成してください。<welcome-file>index.html</welcome-file></welcome-file-list>...図2.サーブレットのURL定義(2)デプロイ作成したプログラムをEclipseからデプロイしてください。web.xmlで設定したサーブレットURLにアクセスし、以下のtwiMLが出力されることを確認してください。URL]に今回作成したサーブレットのURLを登録してください。URLの設定(4)実際に電話をかけてみるTwilioから発行された電話番号に対して実際に電話をかけてみます。apps-gcp!」という音声メッセージが電話から聞き取れれば、プログラムの実行は成功です。※当分の間、以下の電話番号を公開しますので興味がある方は実際に電話をかけてみてください。上記メッセージが受話器から流れるはずです。公開は予告なしに取り下げる可能性がありますのでご了承ください。SDKを利用することで開発者は簡易にコミュニケーションシステムを構築できることがわかりました。AppEngineを利用することで他のプラットフォームを利用するよりも、よりスピーディに開発がおこなえることが実感できたと思います。APIの使い方について説明したいと思います。