从GoogleSheet同步到Google日历

这篇主要介绍如何Google sheet里批量创建日历项目并同步到Google calendar的方法。

启发

在本科的时候我就研究了各种办法希望可以快速的创建各种日程,先后尝试过生成csv上传,使用Python API等等,但都比较麻烦。知道了Google sheet可以运行app script就一直想试试。在看了Google官方的 博文 后,决定实现一下,发现还是比较容易实现的,下面给大家介绍一下。

Step 1:新建脚本

初始表格如下:



第一步是从Google sheet 上新建与之配套的脚本,通过tools到script editor点击即可。



之后就可以看到如下的编辑页面。



Step 2:获得表格和日历id

第二步就是获取当前的表格和要添加的日历。将如下代码放到function里,之后点击运行,会出现提示给这个脚本授权。

var eventCal = CalendarApp.getCalendarById(xxxxxxx);
var spreadsheet = SpreadsheetApp.getActiveSheet();

Step 3:获得表格内的信息

在获得表格之后,我们就可以通过以下的方法获得表格的数值。

spreadsheet.getRange("C4").getValue();

如果需要获得一块区域的数值可以使用如下的for loop。

var data = spreadsheet.getRange("A2:C4").getValues();
for (i = 0; i < data.length; i++) {
    var shift = data[i]
    var startTime = shift[0];
    var endTime = shift[1];
    var name = shift[2];