情報の授業で、生徒に別々のファイルを配付したい時があります。
例えば公開鍵暗号方式の演習で、秘密鍵のファイルを生徒ごとに作成します。それをGoogleドライブにアップしておいて、個々の生徒に共有するためのGAS(Google Apps Script)を作成しました。
鍵設定ファイル(Googleスプレッドシート)

スプレッドシートのA列にファイル名の一覧、B列にそのファイルに設定したいユーザ名を入れておきます。
下記のスクリプトを実行します
function makeFilesSetShare() {
//設定したいファイルが入っているフォルダのIDを指定
var folder=DriveApp.getFolderById('[フォルダのID]');
//設定シートのデータ範囲を指定
var fileShareRange = SpreadsheetApp.getActiveSheet().getDataRange();
//ファイル設定のデータを配列で取得
var arr = fileShareRange.getValues();
//配列の行数・列数を取得
var row = fileShareRange.getLastRow();
var column = fileShareRange.getLastColumn();
for (var i = 1; i < row; i++){
var fileName = arr[i][0];
file=folder.getFilesByName(fileName).next();
//スプレッドシートで指定したメンバーに閲覧権限を付与します
var j = 1;
while (j < column) {
//空白のセルを飛ばします
if (arr[i][j] != '') {
file.addViewer(arr[i][j]+'@aabbcc.ed.jp');
}
j++;
}
}
}
例えば公開鍵暗号方式の演習で、秘密鍵のファイルを生徒ごとに作成します。それをGoogleドライブにアップしておいて、個々の生徒に共有するためのGAS(Google Apps Script)を作成しました。
鍵設定ファイル(Googleスプレッドシート)

スプレッドシートのA列にファイル名の一覧、B列にそのファイルに設定したいユーザ名を入れておきます。
下記のスクリプトを実行します
function makeFilesSetShare() {
//設定したいファイルが入っているフォルダのIDを指定
var folder=DriveApp.getFolderById('[フォルダのID]');
//設定シートのデータ範囲を指定
var fileShareRange = SpreadsheetApp.getActiveSheet().getDataRange();
//ファイル設定のデータを配列で取得
var arr = fileShareRange.getValues();
//配列の行数・列数を取得
var row = fileShareRange.getLastRow();
var column = fileShareRange.getLastColumn();
for (var i = 1; i < row; i++){
var fileName = arr[i][0];
file=folder.getFilesByName(fileName).next();
//スプレッドシートで指定したメンバーに閲覧権限を付与します
var j = 1;
while (j < column) {
//空白のセルを飛ばします
if (arr[i][j] != '') {
file.addViewer(arr[i][j]+'@aabbcc.ed.jp');
}
j++;
}
}
}