Google apps script 具有按来宾获取状态的用户组的事件来宾列表
我正在尝试提取日历事件的来宾列表,并计算每个来宾的状态(是、否,可能),但遇到了一个用户组问题。它只提供组名和已邀请状态,但我需要用户组中的每个来宾及其邀请状态。这可能吗Google apps script 具有按来宾获取状态的用户组的事件来宾列表,google-apps-script,google-calendar-api,Google Apps Script,Google Calendar Api,我正在尝试提取日历事件的来宾列表,并计算每个来宾的状态(是、否,可能),但遇到了一个用户组问题。它只提供组名和已邀请状态,但我需要用户组中的每个来宾及其邀请状态。这可能吗 var calendarName="calendar name"; var calDate=new Date("04/02/2013"); function testCalendarEvents(){ var calendars = CalendarApp.getCalendarsByName(calendarName);
var calendarName="calendar name";
var calDate=new Date("04/02/2013");
function testCalendarEvents(){
var calendars = CalendarApp.getCalendarsByName(calendarName);
var events = calendars[0].getEventsForDay(calDate);
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++){
Logger.log("Guest "+d+": "+guestList[d].getEmail()+", Status: "+guestList[d].getGuestStatus());
}
}
}
var calendarName=“日历名称”;
var calDate=新日期(“2013年2月4日”);
函数testCalendarEvents(){
var calendars=CalendarApp.getCalendarsByName(calendarName);
var events=日历[0]。getEventsForDay(calDate);
对于(var c=0;c这对于DomainGroups目前是不可能的,因为没有应用程序脚本API支持钻取到组成员的状态。根据文档,假设您有查看组成员的适当权限,您应该能够通过日历UI查看这些用户及其状态
从:
我可以邀请公司目录中的邮件列表参加会议吗?
是的,您可以邀请我们公司的任何邮件列表(组)
会议目录。组中的每个成员都将收到一封电子邮件
邀请。但是请注意,电子邮件邀请不会显示所有内容
组的成员。此外,组成员将显示在
只有在您有权限的情况下,才能在每位与会者的日历上发出邀请
查看组的成员列表
如果您是域管理员,则可以使用该服务检索组的成员列表。不幸的是,在日历事件的上下文中,这是您可以做的唯一有用的事情。您无法获取单个用户的邀请状态。我已修改了您的脚本以检索成员列表:
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());
}
}
}
}
}
函数testCalendarEvents(){
var calendarName=“大卫_bingham@mitel.com";
var calDate=新日期(“2013年1月4日”);
var calendars=CalendarApp.getCalendarsByName(calendarName);
var events=日历[0]。getEventsForDay(calDate);
试一试{
var domainAdmin=false;//假设我们不是域中的管理员
GroupsManager.getGroup(“测试”);
domainAdmin=true;//我们通过了测试,所以
}
捕获(错误){
//我们没有通过考试…为什么不呢?
//如果在企业帐户之外,则获取“服务错误::无效请求URI”
//获取“您没有执行该操作的权限”。如果不是管理员。
Logger.log(“非域管理员:+错误消息”);
}
for(var c=0;cSeems对我来说很好用。你的代码显示了每个客人的状态。你是否真的通过Gcal Ui添加了联系人组?在@BryanP的评论上展开-gmail中创建的组在通过Gcal Ui添加时将扩展到所有成员。那么,你能解释一下你的“用户组”是什么吗是吗?感谢@BryanP的回复,我应该澄清用户组。在这种情况下,用户组是一个域用户组,而不是我创建的。我需要管理员权限才能访问该用户组(我目前没有)还是有其他方法?