IFTTT有料化対処法をもうひとつ考えました。おもにgoogle home miniに音楽や語学のCDトラックをmp3化した物を口頭でかけてもらうためのものです。
「OKグーグルCD中国語14」というと「CD中国語のトラック14をかけます ポロン」と言ってサーバの中国語フォルダの014.mp3をかけてくれます。
「OKグーグルCD竹内まりや1」というと「CD竹内まりやのトラック1をかけます ポロン」と言ってサーバの竹内まりやフォルダの001.mp3をかけてくれます。
1.グーグルスプレッドシートを新規に作ります。
これを「公開」…「web applicationとして導入」します。
このマクロを実行するurlアドレスが
https://script.google.com/macros/s/AKfycbxy6d8ii9MluRbNTmXRWpwLDTIG-anTE0CK***/exec
などと表示されますので、コピーしておきます。
2.IFTTTを新規に作ります。
コンテンツを増やしたいときもサーバにフォルダを作ってmp3ファイルを入れるだけです。
IFTTTもグーグルスプレッドシートもスクリプト(GAS)も一度作れば何もいじらなくて大丈夫です。
これで先の方法とあわせてIFTTT2つで無料で十分やっていけそうです。
「OKグーグルCD中国語14」というと「CD中国語のトラック14をかけます ポロン」と言ってサーバの中国語フォルダの014.mp3をかけてくれます。
「OKグーグルCD竹内まりや1」というと「CD竹内まりやのトラック1をかけます ポロン」と言ってサーバの竹内まりやフォルダの001.mp3をかけてくれます。
1.グーグルスプレッドシートを新規に作ります。
シート:
A1セル:空白
A2セル:=SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")
A3セル:空白
A4セル:=Right("00"&A3,3)
A5セル:="http://211.132.114.***:50011/?mp3=http://192.168.1.2/"&A2&"/"&A4&".mp3"
// 211.132.114.***:50011はgoogle home notifierのグローバルIPアドレス
// 192.168.1.2は音声フォルダを入れたweb serverのローカルIPアドレス
マクロ:
function doPost(e) {
var jsonString = e.postData.getDataAsString();//IFTTTからJSON形式で変数を受け取る
var data = JSON.parse(jsonString);//配列に分解
var NumberField = data.NumberField;//数字#を変数NumberFieldに
var TextField = data.TextField;//文字列$を変数TextFieldに
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
sheet.getRange("A1").setValue(TextField);//A1セルに変数TextFieldを
sheet.getRange("A3").setValue(NumberField);//A3セルに変数NumberFieldを
var url = sheet.getRange("A5").getValue();//A5セルの計算されたurlを変数urlに
UrlFetchApp.fetch(url);//urlを開く
}
これを「公開」…「web applicationとして導入」します。
このマクロを実行するurlアドレスが
https://script.google.com/macros/s/AKfycbxy6d8ii9MluRbNTmXRWpwLDTIG-anTE0CK***/exec
などと表示されますので、コピーしておきます。
2.IFTTTを新規に作ります。
IF(トリガー):google assistant
Say a phrase with both a number and a text ingredient
What do you want to say?:「CD $ # 」
What do you want the Assistant to say in response?:「CD $ トラック # をかけます」
Language:Japanese
THEN(アクション):web hooks
URL:先ほどコピーしたアドレス
Method:POST
Content Type:application/JSON
Body:{"NumberField": "{{NumberField}}", "TextField": " {{TextField}}" }
コンテンツを増やしたいときもサーバにフォルダを作ってmp3ファイルを入れるだけです。
IFTTTもグーグルスプレッドシートもスクリプト(GAS)も一度作れば何もいじらなくて大丈夫です。
これで先の方法とあわせてIFTTT2つで無料で十分やっていけそうです。