GASで連絡先&グループ管理
GAS連携と連絡先連携の概要
Google Apps Script(GAS)は、Google Workspace のサービスを自動化するための強力なツールです。特に 連絡先連携 を行う際には、ContactsApp を利用することで、ユーザーの連絡先情報を簡単に取得・操作できます。この記事では、getContacts、createContact、deleteContact などの主要メソッドを中心に、実際のスクリプト例とグループ管理のテクニックを紹介します。
ContactsAppで連絡先取得
連絡先取得は ContactsApp.getContacts() を使って行います。以下のサンプルは、全連絡先を取得し、名前とメールアドレスをコンソールに出力する例です。
function listAllContacts() {
var contacts = ContactsApp.getContacts();
contacts.forEach(function(contact) {
var name = contact.getFullName();
var email = contact.getPrimaryEmail();
Logger.log(name + ' - ' + email);
});
}
このスクリプトを実行すると、スクリプトエディタのログに連絡先一覧が表示されます。getContacts は検索条件を指定しない場合、すべての連絡先を返します。検索条件を絞りたい場合は ContactsApp.getContactsByEmailAddress(email) などを利用してください。
連絡先作成と削除
新しい連絡先を作成するには ContactsApp.createContact() を使用します。以下は、名前とメールアドレスを指定して連絡先を作成する例です。
function addNewContact() {
var firstName = '太郎';
var lastName = '山田';
var email = 'taro.yamada@example.com';
var contact = ContactsApp.createContact(firstName, lastName, email);
Logger.log('Created contact: ' + contact.getFullName());
}
連絡先を削除するには、取得した Contact オブジェクトの deleteContact() メソッドを呼び出します。以下は、特定のメールアドレスを持つ連絡先を検索し、削除する例です。
function deleteContactByEmail(email) {
var contacts = ContactsApp.getContactsByEmailAddress(email);
contacts.forEach(function(contact) {
contact.deleteContact();
Logger.log('Deleted contact: ' + contact.getFullName());
});
}
注意点として、deleteContact は不可逆的な操作です。実際に削除する前に、対象連絡先を確認するロジックを追加すると安全です。
グループ管理の実装
連絡先をグループで管理することで、メール配信やアクセス権限の設定が容易になります。ContactsApp には Group オブジェクトがあり、以下のようにグループを作成・連絡先を追加できます。
function createGroupWithContacts() {
var groupName = 'プロジェクトチーム';
var group = ContactsApp.createGroup(groupName);
var emails = ['alice@example.com', 'bob@example.com'];
emails.forEach(function(email) {
var contacts = ContactsApp.getContactsByEmailAddress(email);
contacts.forEach(function(contact) {
group.addContact(contact);
});
});
Logger.log('Group created: ' + group.getName());
}
既存のグループから連絡先を削除する場合は、group.removeContact(contact) を使用します。また、グループ全体を削除するには group.deleteGroup() を呼び出します。グループ管理は、連絡先の整理やメールマーケティングに不可欠な機能です。
コメント
コメントを投稿