前提
- Twilioで電話番号取得済み
概要 & コード
・ 電話の受け付け
参考文献をご覧になってください。とてもわかりやすい記事でした。
(ここで作成したGASアプリケーションを、以下「app1」と表記)
・ 条件分岐
GASアプリケーションをもう1つ用意してください。(以下「app2」と表記)
<Gather>
を以下のように少し工夫します。action
で、「app2」の「web app URL」を記載します。これによって、「app1」から「app2」にパラメーターを渡しますことができます!
//「app1」の記述(一部)
<Gather action='https://script.google.com/macros/s/{GASID}/exec' method='post' numDigits='1'>
<Say>
"ボタンを押してください。"
</Say>
</Gather>
あとは、「app2」側でパラメーターから値を取得すればいいだけ!
//「app2」の記述
function doPost(e) {
//押されたボタンを取得
var digits = e["parameter"]["Digits"];
//ボタン「1」を押していた場合
if(digits = 1){
var response_str = "<Response>\n <Say voice='woman' language='ja-jp'> 1が押されました。</Say>\n</Response>";
var out = ContentService.createTextOutput(response_str);
out.setMimeType(ContentService.MimeType.XML);
return out;
}else{
var response_str = "<Response>\n <Say voice='woman' language='ja-jp'> 1以外のボタンが押されました。</Say>\n</Response>";
var out = ContentService.createTextOutput(response_str);
out.setMimeType(ContentService.MimeType.XML);
return out;
}
}
・ 着信番号などその他
着信番号はe["parameter"]["From"]
で取得できます。その他いろいろe["parameter"]
に入ってます。
参考文献
・Google Apps Script と Twilio で自作留守電サービスを構築してみた話
・twilioからGoogle Apps Scriptを経由して別サービスにつなぐ