如何列出 Google 日历与之共享的所有电子邮件?

How to list all emails a Google calendar was shared with?

我想获取所有共享 google 日历的电子邮件。

在我看来 Calendar.CalendarList.list 不会给我所需的信息

/**
* Lists the calendars shown in the user's calendar list.
*/  
function listCalendars() {
  var calendars;
  var pageToken;
  do {
    calendars = Calendar.CalendarList.list({
      maxResults: 100,
      pageToken: pageToken
    });
    if (calendars.items && calendars.items.length > 0) {
      for (var i = 0; i < calendars.items.length; i++) {
        var calendar = calendars.items[i];
        Logger.log('%s (ID: %s)', calendar.summary, calendar.id);
      }
    } else {
      Logger.log('No calendars found.');
    }
    pageToken = calendars.nextPageToken;
  } while (pageToken);
}

Calendar.Acl.get(calId, "user:"+user) 看起来很有希望,但我不知道如何获取我想要的信息。有人可以帮忙吗?

建议

或许您可以试试下面派生自此 similar post 的示例脚本。

示例脚本

function aclTest(){
  calendarId = 'Calendar_ID';   
  calendars_acl_list = Calendar.Acl.list(calendarId);
  for (var i = 0; i < calendars_acl_list.items.length; i++) {
    var info = calendars_acl_list.items[i];
    if(info.role != "owner" && !info.id.includes("domain")){
      Logger.log(info.id);
    }
  }
}

样本测试:

  • 样本测试日历

  • Apps 脚本结果: