Google 日历访问权限

Google Calendar Access Permissions

我正在尝试使用 Google Apps 脚本创建一个脚本,这将使我能够确定特定日历是否设置为 public。

我在高级日历服务文档中找到以下内容,其中列出了用户日历列表中显示的日历。即使我只是记录变量日历,我也看不到任何信息告诉我日历是否设置为 public。

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);
}

我的目标是简单地 return 日历是否设置为 public。

感谢您的帮助!

了解日历是否为 public 的最简单方法是尝试使用 api 键访问日历,如果它 public 您将获得信息,如果不,您会收到无法访问的错误消息。

如果您不喜欢错误消息,那么您可以接受您现在的请求并遍历每个请求

的日历

Acl: list

此响应包含资源列表

{
  "kind": "calendar#aclRule",
  "etag": etag,
  "id": string,
  "scope": {
    "type": string,
    "value": string
  },
  "role": string
}

Scope 会告诉您日历的默认类型 (public) 或用户、组或域日历。