Google HomeからClassroomに音声入力で連絡事項を書き込む
Googleホームから音声入力で、Googleクラスルームにクラスへの連絡事項が書込めたらいいなと思い、GASを使って作ってみました。GoogleHomeまたはGoogle Nestは設定済として話を進めていきます。まずはどんなシステムかいうと、下記の動画の通り
まずはIFTTT(イフト)のアカウントを作成する
IFTTTとは、異なるソーシャルメディアやプラットフォームを連携させるWebサービスです。下記URLからIFTTTのアカウントを作成します
ここではGoogleアカウントでIFTTTを設定したいと思います
アカウントが作成できたら下記をクリック
https://ifttt.com/explore
Applets(アプレット)を作成する
検索にGoogleを入力して、Google Assistantをクリック
GoogleHomeに話しかけてみよう
以上で設定は終了です。さっそくGoogleHomeに
OK Google
クラスに「こんにちは」を書き込んで
と話しかけてみましょう
GoogleドライブからスプレッドシートGoogle Assistant Commandsを開く
GoogleドライブからGoogle Assistant Commandsを検索して開きましょう。開いたスプレッドシートのシート1に日付と「こんにちは」が記入されていると思います。
スプレッドシートにGASを設定する
まず最初にスプレッドシートGoogle Assistant Commandsにシート2を追加します。
次にメニューの拡張機能からApps Scriptをクリックします
Apps Script名を連絡事項にし、下記のスクリプトをApps Scriptに貼り付けます
function onOpen() {
SpreadsheetApp
.getActiveSpreadsheet()
.addMenu('音声書き込み', [
{name: 'クラス一覧取得', functionName: 'classroomdata'},
{name: '書き込む', functionName: 'createAnnouncements'},
]);
}
function classroomdata(){
var now = new Date();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sht = ss.getSheetByName("シート2");
var response = Classroom.Courses.list({});
var courses = response.courses;
var course = "";
for (i = 0; i < courses.length; i++) {
course = courses[i];
sht.getRange(i + 1, 1).setValue(course.name);
sht.getRange(i + 1, 2).setValue(course.id);
}
}
function createAnnouncements(){
var now = new Date();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sht = ss.getSheetByName("シート2");
var sht1 = ss.getSheetByName("シート1");
var lastRow1 = sht1.getLastRow();
var value = sht1.getRange(lastRow1, 2).getValue()
var response = Classroom.Courses.list({});
var courses = response.courses;
var course = "";
for (i = 0; i < courses.length; i++) {
course = courses[i];
if(sht.getRange(i + 1, 3).getValue() == 1){
var data = {
"courseId" : course.id,
"text": value,
"assigneeMode": "ALL_STUDENTS",
"state": "PUBLISHED"
}
Classroom.Courses.Announcements.create(data, course.id);
}
}
}
コピーしたものを貼り付けたら保存をクリックします
Classroom APIのサービスを追加する
スプレッドシートに作成したクラスルーム一覧を表示する
スプレッドシートに戻り、シートを再読み込みし、メニューの音声書込みから[クラス一覧取得]をクリックする。
スクリプトの実行許可をする
クラス一覧が取得できるので、クラスルームに書き込みたいC列のセルに半角で1を入力する
トリガーをの設定
以上でGoogleホームをスプレッドシートを通してクラスルームと連携することが出来ました!
Googleホームに話しかけて、クラスルームに書込んでみよう
OK Google
クラスに「明日から中間テストです」を書き込んで
と話しかけてみましょう。クラスルームに投稿されたと思います。
詳細動画も作りました。下記のYouTUbeをご覧ください。
この記事が気に入ったらサポートをしてみませんか?