如何在 Google Apps 脚本中使用 Calendar.Events.patch?

我搜索了又搜索,试图找到这个问题的答案,但从我读过的所有示例和答案中,我看不出我的问题是什么。

我正在尝试更新用户选择的一系列事件的扩展属性。日历事件的 ID(来自高级 API,而不是内置的 CalendarApp)在被选择时存储在数组中。然后,我将此数组传递给要循环的函数,并更新数组中标识的每个事件的扩展属性。

它根本不起作用,我只是nullpatch调用中返回,甚至没有我可以处理的错误。

我的职能是:

function updateLessonsStatus(arrCalIds){

  try {

    Logger.log(arrCalIds);

    arrCalIds.forEach(function(row){

      Logger.log(row);

      var objEventPatch = {

        "resource": {

          "extendedProperties": {

            "shared": {

              "status": "accounted"

            }

          }

        }

      };

      Logger.log(objEventPatch);

      return Calendar.Events.patch(objEventPatch, "primary", row);

      //return true;

    });

  }


  catch(err) {

    Logger.log(err);

    throw err;

  }

}

我也尝试过objEventPatch按照 Google 日历 API 补丁“尝试此 API”参考https://developers.google.com/calendar/v3/reference/events/patch进行这样的设置:


      var objEventPatch = {

        "calendarId": "primary",

        "eventId": row,

        "resource": {

          "extendedProperties": {

            "shared": {

              "status": "accounted"

            }

          }

        }

      };

我仍然从 Google Apps 脚本中得到 null。我可以使用“尝试此 API”功能成功地使用我拥有的 IDget来处理事件。patch


Google 文档中很少有将高级 API 与 Google Apps 脚本结合使用的示例,我也找不到任何内容,patch因此我使用 Javascript 示例来构建到目前为止我所编写的内容。


有人可以帮助解决我做错的事情吗?


(为了清晰起见,已更新并包含返回的记录器输出的图像null)


胡子哥哥
浏览 109回答 1
1回答

隔江千里

您提供的嵌套对象过多调整      var objEventPatch = {        "resource": {          "extendedProperties": {            "shared": {              "status": "accounteddd"            }          }        }      };到      var objEventPatch = {          "extendedProperties": {            "shared": {              "status": "accounteddd"            }          }        };边注:如果您想探索请求响应以进行故障排除,我建议您通过使用UrlFetchApp调用请求 URL 来执行请求,而不是使用预构建的Calendar服务。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript