グループ メンバーのステータスにドリルインするためのアプリ スクリプト API サポートがないため、これは現在 DomainGroups では不可能です。ドキュメントによると、グループ メンバーを表示するための適切な権限があると仮定すると、これらのユーザーとそのステータスをカレンダー UI から表示できるはずです。
Enterprise Calendar FAQから:
社内ディレクトリからメーリング リストを会議に招待できますか?
はい、社内ディレクトリにあるメーリング リスト (グループ) をミーティングに招待できます。グループの各メンバーは、招待メールを受け取ります。ただし、招待メールにはグループのすべてのメンバーが表示されるわけではないことに注意してください。また、グループのメンバー リストを表示する権限がある場合にのみ、各出席者のカレンダーの招待状にグループ メンバーが表示されます。
ドメイン管理者は、GroupsManagerサービスを使用してグループのメンバーリストを取得できます。残念ながら、カレンダー イベントのコンテキスト内では、それができる唯一の有用なことです。個々のユーザーの招待ステータスを取得することはできません。メンバー リストを取得するようにスクリプトを変更しました。
function testCalendarEvents(){
var calendarName="david_bingham@mitel.com";
var calDate=new Date("04/01/2013");
var calendars = CalendarApp.getCalendarsByName(calendarName);
var events = calendars[0].getEventsForDay(calDate);
try {
var domainAdmin = false; // assume we aren't an admin in a domain
GroupsManager.getGroup("test");
domainAdmin = true; // we passed the test, so we ARE
}
catch (error) {
// We didn't pass the test... why not?
// Get "Service error: : Invalid request URI" if outside of an enterprise account
// Get "You do not have permission to perform that action." if not admin.
Logger.log("Not Domain Admin: "+error.message);
}
for(var c=0; c<events.length; c++){
Logger.log("Event "+c+": "+events[c].getTitle());
var guestList=events[c].getGuestList();
for(var d=0; guestList!=null && d<guestList.length; d++){
if (!domainAdmin) {
Logger.log("Guest "+d+": "+guestList[d].getEmail()+", Status: "+guestList[d].getGuestStatus());
}
else {
// Check if this guest is a group
var group = GroupsManager.getGroup(guestList[d].getEmail());
if (group) {
// getAllMembers() returns an array of email addresses
var groupMembers = group.getAllMembers();
for (var e in groupMembers) {
Logger.log("Guest "+d+"/"+e+": "+groupMembers[e]+
", Status: "+"UNKNOWN(group "+guestList[d].getEmail()+")");
}
}
else {
Logger.log("Guest "+d+": "+guestList[d].getEmail()+", Status: "+guestList[d].getGuestStatus());
}
}
}
}
}