GASでスプレッドシートの実行権限を確認・取得するには「getEffectiveUser()
」を利用する。
getEffectiveUser()
スクリプトの実行権限があるユーザーに関する情報を取得します。スクリプトがウェブアプリとして実行されている(デベロッパー)場合は、これによりデベロッパーのユーザー アカウントが返されます。スクリプトがインストール可能なトリガーで実行されている場合は、トリガーを作成したユーザーのアカウントが返されます。他のほとんどのシナリオでは、これにより getActiveUser() と同じアカウントが返されます。
https://developers.google.com/apps-script/reference/base/session#geteffectiveuser
スプレッドシートの実行権限を確認・取得するGAS実行の様子
getEffectiveUser()を実行することで、
- スプレッドシート・GoogleAppsScriptの実行権限者のメールアドレスを確認する
といった操作が可能です。
スプレッドシートに入力ボックスを表示する場合は、以下記事を御覧ください。
参照記事:【GAS】スプレッドシートに入力ボックスを表示する
スプレッドシートの実行権限を確認・取得するGAS
//アクティブシートの実行権限を取得する
function getuser(){
//yesnoで管理者権限を取得するか確認
let yesno = Browser.msgBox("このシートのGAS実行権限者を取得しますか?",Browser.Buttons.YES_NO);
//もしyesなら
if(yesno == "yes"){
//変数kanriに■getEffectiveUserでGAS実行権限を取得
let kanri = Session.getEffectiveUser().getEmail();
//シート権限を掲載
Browser.msgBox("シート権限:"+kanri);
//Noなら
}else{
//実行権限を取得しなかった旨を掲載
Browser.msgBox("GAS実行権限を取得しませんでした")
}
}
getEffectiveUser()の戻り値
User - スクリプトが実行されているユーザー。
スプレッドシートの実行権限を確認・取得するまとめ
GAS×スプレッドシートの実行権限を確認・取得するならgetEffectiveUser()
メソッドを利用しましょう。
関連記事:【GAS】スプレッドシートの文字の折返しを配列で設定する