【问题标题】:Change Google Calendar Event Free/Busy with Calendar API使用日历 API 更改 Google 日历活动忙/闲
【发布时间】:2023-03-09 06:44:02
【问题描述】:

我有一个用于预订房间的 GAS 网络应用。当应用程序创建事件时,它当前默认为事件的“忙碌”。我正在尝试将默认设置为“免费”。

我发现一个 GAS 论坛条目建议使用高级 Google 日历 API 来编辑透明度字段(来源:https://code.google.com/p/google-apps-script-issues/issues/detail?id=2341)。

他们建议的脚本是

var changes = {
transparency: "transparent"
};
Calendar.Events.patch(changes, cal_id, event_id);

我启用了高级 API,但由于某种原因,当函数执行时,我在 Chrome 控制台中收到未捕获的错误提示。关于这个错误来自哪里的任何想法?

【问题讨论】:

  • 您是否在 IDE 和 API 控制台中都启用了该服务?
  • 它在 API 控制台中启用,并在脚本编辑器中的高级 Google 服务窗口中启用
  • 你能发布错误吗?
  • 未捕获错误:未在保留区找到(代码:192)(AKTA 保留区)6b308efd-2175-4681-a8fc-2f72e9160e6f
  • 第 192 行是 Calendar.Events.patch(changes, cal_id, event_id);

标签: javascript google-apps-script calendar google-apis-explorer


【解决方案1】:

环顾四周后,以下似乎可行。我忘记了在向 CalendarApi 发出请求之前,您需要从 CalendarApp 返回的事件 ID 中删除“@google.com”。 calendarId 可以设置为“主要”,因为用户只在自己的日历上编辑事件

var eventId= event_id.slice(0,event_id.length-11);
var calendarId = 'primary';
Logger.log(eventId)
var changes = {
    transparency: "transparent"
  };
Calendar.Events.patch(changes,calendarId,eventId);

【讨论】:

    猜你喜欢
    • 2019-10-24
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-28
    相关资源
    最近更新 更多