所有者情報の取得
特定のスプレッドシートから、その所有者を取得したい場合に使用する関数について解説します。
利用する関数
Section titled “利用する関数”Spreadsheet.getOwner();Spreadsheet クラスに用意されている、getOwner() を使用します。
実行にあたってスプレッドシートにアクセスすることになるため、初回実行時に認証が必要になる場合があります。
サンプルコード
Section titled “サンプルコード”/** * 対象スプレッドシートのID * https://docs.google.com/spreadsheets/d/〇〇〇/edit の〇〇〇の部分 */const SPREAD_SHEET_ID = '_______________';
/** * スプレッドシートの所有者情報を返却します */const getSpreadSheetOwner = () => { /** 対象スプレッドシート */ const ss = SpreadsheetApp.openById(SPREAD_SHEET_ID);
/** スプレッドシートの所有者 */ const owner = ss.getOwner();
// 共有ドライブ上のファイルには所有者が存在しないため、null が返されます if (!owner) { console.log('所有者が存在しません(共有ドライブ上のファイルです)'); return null; }
console.log(owner.getEmail());
return owner;};実行すると、ログに対象スプレッドシートの所有者のメールアドレスが表示されます。
所有者情報は User クラスとして返却されます。
ただし、共有ドライブに保存されているスプレッドシートには所有者が存在しないため、null が返されます。
User クラスから取得できる値は、現在メールアドレス(getEmail())のみです。
セキュリティポリシーでメールアドレスへのアクセスが許可されていない場合は、空の文字列が返されます。