こんにちは。イカPOです。
今回は、Google Apps Script(GAS)を使ってアクティブユーザーのメールアドレスを取得する方法を紹介します。スクリプトを作成する際に役立つ便利な小技ですので、ぜひ活用してください!
Session.getActiveUser().getEmail(); の解説
Session.getActiveUser().getEmail();を使用すると、現在実行中のスクリプトを利用しているアクティブなユーザーのメールアドレスを取得できます。
コードの詳細
1️⃣ Sessionオブジェクト
SessionはGASの組み込みオブジェクトで、現在のセッションに関する情報を取得できます。ユーザー情報やスクリプトのコンテキスト情報などを提供します。
2️⃣ getActiveUser() メソッド
getActiveUser()は、現在のスクリプトを実行しているアクティブなユーザーを返します。ここでのアクティブなユーザーとは、スクリプトを実行している本人のことです。
3️⃣ getEmail() メソッド
getEmail()は、アクティブなユーザーのメールアドレスを取得するメソッドです。例えば、「user@example.com」のようなメールアドレスが返されます。
例:アクティブユーザーのメールアドレスをログに出力する
以下は、アクティブユーザーのメールアドレスを取得してログに出力する例です。
function logActiveUserEmail() {
let email = Session.getActiveUser().getEmail();
Logger.log("Active user's email: " + email);
}
実行結果
上記のコードを実行すると、ログに「Active user’s email: user@example.com」のように表示されます。
この方法を使えば、スクリプト実行者のメールアドレスを簡単に確認することができます。
GmailApp.sendEmailと組み合わせる例
Session.getActiveUser().getEmail();は、GmailApp.sendEmail()と組み合わせることで、自動で自分自身にメールを送信することができます。
例:自動メール送信のスクリプト
function sendEmail() {
let emailAddress = Session.getActiveUser().getEmail(); // 自分自身のメールアドレスを取得
const subject = "メールのタイトル";
const body = "メールの本文です。";
GmailApp.sendEmail(emailAddress, subject, body);
Logger.log("メールを送信しました。");
}
このコードを実行すると、自動で自身のメールアドレス宛にメールが送信されます。業務報告の自動通知などに応用できます。
注意点
- スクリプトの実行者のメールアドレスしか取得できません
他のユーザーのメールアドレスを取得することはできません。 - Google Workspaceを使用していないユーザーのアドレスは取得できません
Gmailを使っている場合にのみ有効です。
まとめ
Session.getActiveUser().getEmail()は、アクティブなユーザーのメールアドレスを取得するための便利な方法です。
自動メール送信やログ管理など、さまざまな場面で活用できます。ぜひ、この小技を使ってGASをより便利に活用してみてください!
この記事についてのご意見や間違いのご指摘は、ぜひX(旧Twitter)でお知らせください!
皆さまのフィードバックをお待ちしています。以下のアカウントまでお気軽にメッセージをお寄せください。
この記事には筆者の個人的な解釈も一部含まれています。一つの参考としてお読みいただきつつ、最終的にはご自身や担当の方としっかり相談の上で判断いただけますと幸いです。
皆様の声で情報をアップデートしていきます。よろしくお願いします。