SQLの窓

2020年03月07日


Google Apps Script(GAS) で、Google Classroom に投稿する



ドキュメントでは、REST API なので、UrlFetchApp クラスを使うのか? とか思ってしまいますが、そもそも それだと auth が必要なのでまだ試してしません。

で、そんな事をしなくてもそれぞれの REST の クラスのメソッドに引数を渡す形で実行できます。
但し、Classroom Service が拡張なので、スクリプトエディタのリソースメニュー(Google の拡張サービス)より API を実行可能にしておく必要があります。



以下のサンプルでは、Classroom は一つしか作成しておらず、ループである必要はありませんが、複数の場合に名前で特定する時に使えると思います。
function createAnnouncements(){
	
	// **************************************************
	// 現在は1つしか無いので、対象が course.id となります
	// **************************************************
	var response = Classroom.Courses.list({});
	var courses = response.courses;
	var course = "";
	for (i = 0; i < courses.length; i++) {
		course = courses[i];
		Logger.log('%s (%s)', course.name, course.id);
	}

	// **************************************************
	// POST する JSON	
	// **************************************************
	var data = {
		"courseId" : course.id, 
		"materials": [
			{
				"link": {
					"url": "https://news.google.com/?hl=ja&tab=rn1&gl=JP&ceid=JP:ja",
					"title": "Google ニュース",
					"thumbnailUrl": ""
				}
			}
		],
		"text": "Google Apps Script による Classroom への投稿",
		"assigneeMode": "ALL_STUDENTS",
		"state": "PUBLISHED"
	};

	Classroom.Courses.Announcements.create(data, course.id);

}


Logger.log は、何かと結果が表示されない事が多いので、Gmail で自分のアドレスに送信したほうがいいと思います。
// The code below will send an email with the current date and time.
var now = new Date();
GmailApp.sendEmail("mike@example.com", "current time", "The time is: " + now.toString());

関連する記事

Google Classroom のテーマ画像のサイズと既存画像をテーマ画像として使用してみた手順


このページの PDF




リファレンス



posted by lightbox at 2020-03-07 14:04 | GAS | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり