google-apps-script - AdminDirectory.Resources.Calendars.insert 失败
问题描述
我正在使用以下代码,但收到错误“对 directory.resources.calendars.insert 的 API 调用失败,错误实体已存在”请帮助我修复此错误。另外,我想在插入日历资源时放置错误句柄。我在下面的代码中在哪里放置错误处理程序
var cus = 'my_customer';
for (i=1; i < dataset.length; i++) {
var res = {
resourceName : dataset[i][0],
resourceId : dataset[i][1],
resourceType : dataset[i][2]
}
}
AdminDirectory.Resources.Calendars.insert(res, cus);
解决方案
每个资源都需要一个独特的resourceId
错误
实体已存在
表示'my_customer'
已经拥有与resourceId
您尝试插入的相同的资源。
您可以使用 进行验证AdminDirectory.Resources.Calendars.list()
。
如果您的数据集有多个具有相同 resourceId 的条目,则可以避免错误,例如:
for (i=0; i < dataset.length; i++) {
var resources = AdminDirectory.Resources.Calendars.list(cus).items;
var existingIds = [];
resources.forEach(function(resource){existingIds.push(resource.resourceId)});
if(existingIds.indexOf(dataset[i][1].toString()) ==-1){
var res = {
resourceName : dataset[i][0],
resourceId : dataset[i][1],
resourceType : dataset[i][2]
}
AdminDirectory.Resources.Calendars.insert(res, cus);
}else{
Logger.log("Resource with id " + dataset[i][0] + " exists already");
}
}
笔记:
上面的示例不一定是最优雅的解决方案,您可以考虑先过滤数据集以删除重复项。
推荐阅读
- angularjs - Tensorflow.js 预测结果不变
- javascript - React js 中的嵌入式 .doc 和 .txt 查看器
- python - 在python中将图像转换为灰度
- java - 如何转换 ArrayList
到java中的字符串值的json数组 - rxjs - RxJS 哪个运算符用于“onIdle”?
- amazon-s3 - 无法从名为 Vector.dev 的工具将数据上传到 s3
- typescript - 错误 TS2440:导入声明与“Highcharts3d”的本地声明冲突
- python - Python'charmap'编解码器上的Docx(xml)文件解析错误无法解码位置7618中的字节0x98:字符映射到
- python - SQL 大敌,将自定义查询映射到类
- postgresql - 如何获得非聚合措施?