LoginSignup
12
16

More than 5 years have passed since last update.

TwilioとRubyで電話でメッセージを流してみる

Posted at

TwilioとRubyを使って電話でメッセージを流すのをやってみた。
だいたい公式のドキュメント通りでいけたがはまりどころもあったのでメモしておく。

事前準備

Twilioの準備

  • Twilioアカウントでaccount sidとaccount sidを確認しておく
  • Twilio電話番号を取得しておく

Trialアカウントの場合は電話の掛け先が検証済電話番号のみになるが実施可能

テキスト読み上げのためのXML配置

以下のXMLをWEBサーバーに配置しGETで取得できるようにしておく。
(試した環境ではAWS S3に配置してアクセスできるようにした)

<?xml version="1.0" encoding="UTF-8"?>                                          
<Response>
    <Say voice="alice" language="ja-JP">Testログインで障害が発生しています</Say>
</Response>

コード実行

以下のコードを実行すると電話がかかってきてテキストを読み上げてくれる。

  • Gemfile
source "https://rubygems.org"

gem "twilio-ruby"
  • 本体コード
require 'twilio-ruby'                                                           

account_sid = "[account sid]"
auth_token = "[auth token]"

client = Twilio::REST::Client.new(account_sid, auth_token)
client.account.calls.create(from: '[Twilio電話番号]', 
                            to: '[掛け先の電話番号]', 
                            method: 'GET',
                            url: '[配置したXMLへのURL]')

はまった

Twilio側からXMLを取りに行くのがデフォルトPOSTでAWS S3に弾かれていた。
このため電話がかかってくると「アプリケーションエラーが発生しました」と言われてしまっていた。
Twilioアカウントのログを確認して原因がわかり、methodでGETを指定するようにして対応した。

参照サイト

12
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
16