結論
GAS標準のDriveAppでなく、GoogleDrive APIを使用する。
DriveAppを使用する場合 (通知設定不可)
僕みたいに基本ググってコピペでGASを書いて(?)いる方は、通常DriveAppを使って、ファイル(やフォルダ)に対して権限付与を行うと思います。
以下の感じです。
function addViewer_driveApp(){
const targetFile = DriveApp.getFileById('******');
targetFile.addViewer('***@gmail.com');
}
これだと、権限付与時の通知設定はできず、必ず相手に通知が飛んでしまいます。
GoogleDrive APIを使用する場合 (通知設定可)
権限付与時の通知ON/OFF設定をするには、GoogleDrive APIを使用する必要があります。簡単です。
事前準備
スクリプトのプロジェクトを開いて、「Service」 - 「Drive API」をONにする。
スクリプト
function addViewer_googleDriveApi(){
//
const targetFile = DriveApp.getFileById('******');
const fileId = targetFile.getId();
const email = '***@gmail.com';
Drive.Permissions.insert(
{
'role': 'reader', //権限タイプを選ぶ (owner, organizer, fileOrganizer, writer, reader)
'type': 'user', //アカウントタイプを選ぶ (user, group, domain, anyone)
'value': email
},
fileId,
{
'sendNotificationEmails': 'false' //true=通知ON, false=通知OFF
});
}
以上です