Google apps script 谷歌脚本&x2B;工作表+;日历“;您没有调用getCalendarsByName的权限;
我有一个带有以下代码的google脚本:Google apps script 谷歌脚本&x2B;工作表+;日历“;您没有调用getCalendarsByName的权限;,google-apps-script,google-sheets,google-authentication,Google Apps Script,Google Sheets,Google Authentication,我有一个带有以下代码的google脚本: function hoursBetween(fromDate, toDate) { var dates = initializeDates(); var from = dates[fromDate]; var to = dates[toDate]; var workCals = CalendarApp.getCalendarsByName('Work'); var workCal = workCals[0]; var even
function hoursBetween(fromDate, toDate) {
var dates = initializeDates();
var from = dates[fromDate];
var to = dates[toDate];
var workCals = CalendarApp.getCalendarsByName('Work');
var workCal = workCals[0];
var events = workCal.getEvents(from, to);
var predictedMonthlyHours = 0;
for (var i = 0; i < events.length; i++) {
var event = events[i];
var startTime = event.getStartTime();
var endTime = event.getEndTime();
var duration = endTime - startTime;
duration = parseFloat(duration/(3600*1000));
duration -= dates['break'];
predictedMonthlyHours += duration;
}
return predictedMonthlyHours;
}
函数小时间隔(从日期到日期){
变量日期=初始化日期();
var from=日期[fromDate];
var to=日期[toDate];
var workCals=CalendarApp.getCalendarsByName('Work');
var-workCal=workCals[0];
var events=workCal.getEvents(从、到);
var predictedMonthlyHours=0;
对于(var i=0;i
我已经在脚本编辑器中运行,没有问题(它要求auth,我接受了)
当我尝试从电子表格中调用函数时,出现以下错误:
“您没有调用getCalendarsByName的权限”
我也尝试过添加触发器,但没有结果。因为该方法正在查找多个“日历”,它正在返回一个日历数组。所以,如果你只有一个名为“工作”的日历,你仍然需要调用它并选择它是哪一个。因此,尝试将变量“workCals”更改为` 添加[0]将选择第一个可用的
看不到其余的代码,很难破译。您如何尝试从电子表格中调用 如果您试图通过电子表格公式
=hoursBetween()
调用,那么它将无法工作。请参阅…“与大多数其他类型的应用程序脚本不同,自定义功能从不要求用户授权访问个人数据。因此,他们只能调用无法访问个人数据的服务。”
设置单元格值的其他选项:
- 手动按钮单击侧边栏加载项
- 手动单击自定义菜单选项
- 安装定时触发器以自动运行
var workCals = CalendarApp.getCalendarsByName('Work')[0];