【问题标题】:Google Calendar Access PermissionsGoogle 日历访问权限
【发布时间】:2018-05-22 12:36:03
【问题描述】:

我正在尝试使用 Google Apps 脚本创建一个脚本,以便我确定特定日历是否设置为公开。

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

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

我的目标是简单地返回日历是否设置为公开。

感谢您的帮助!

【问题讨论】:

    标签: google-apps-script google-api google-calendar-api


    【解决方案1】:

    了解日历是否公开的最简单方法是尝试使用 api 密钥访问日历,如果公开,您将获取信息,否则您将收到无法访问错误消息。

    如果您不喜欢错误消息,那么您可以接受您现在的请求,并循环浏览每个请求该错误消息的日历

    Acl: list

    此响应包含资源列表

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

    范围会告诉您它是什么类型的日历,如果它的默认(公共)或用户、组或域日历。

    【讨论】:

    • 感谢您的帮助。这应该让我开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 2016-04-01
    • 2019-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多