以前GASを使ってメールbotの作成を試みたときは,返信内容を自動で生成することができず結局カレンダーを読み込んでその日の予定を朝一にメールで配信する機能くらいで終わってしまった.
そこに救世主として現れたのが近年急速に発展するAI技術.
なんとリクルートが無料で,与えられた会話文に対する返答を返してくれるAPIを公開したというのでこれを使ってみることにした.
APIの詳細について参考にしたのはこちら.
GASでのPOST方法についてはここを参考にした.
以下コード.
function checkUnRead(){ var thds = GmailApp.getInboxThreads(0,10); for(var n in thds){ var thd = thds[n]; if(thd.isUnread()){ thd.markRead(); checkFrom(thd); } } } function checkFrom(thd){ var msgs = thd.getMessages(); for(m in msgs){ var m = msgs[m]; if(m.getFrom().indexOf('[自分の送信メアド]',0)!=-1){ checkBody(m); } } } function checkBody(m){ var body = m.getBody(); //本文取得 //ポスト var apikey = 'apiキー'; var query = body; var payload= { "apikey" : apikey, "query" : query }; var options = { "method" : "post", "payload" : payload }; callback = UrlFetchApp.fetch("https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk", options); var data = JSON.parse(callback); var body = data["results"][0]["reply"]; sendMail(body); } function sendMail(body){ var to = '送信先'; var title = 'No title'; var opt = new Object(); opt.name='送信者名'; opt.replyTo = '送信者アドレス'; GmailApp.sendEmail(to, title, body, opt); }
0 件のコメント:
コメントを投稿