谷歌日历ID授权/配置



我有一个工作组,每周有几个约会。我想通过谷歌表单将他们的日程整合在谷歌表单中,然后自动将安排好的约会保存到每个活动的每个所有者中。

我编写了自动代码,创建并同步了计划的表单和工作表,但在路上遇到了一个障碍:我无权通过应用程序(或者更具体地说,通过日历ID(在他们的日历上安排活动。

是否有任何配置授权可以允许我这样做?

或者,作为一个可选的解决方案,谷歌日历中有没有任何方法可以让我的合作伙伴作为客人参加我自己日历上安排的活动?

现在我使用的方法是:

CalendarApp.getCalendarById(calendarID).createEventFromDescription(description);

第一个选项

在日历上与客人一起创建活动。这将在您的日历中创建一个活动,添加您想要作为客人的电子邮件。

function createEvent() {
var event = {
'summary': 'Google I/O 2015',
'location': '800 Howard St., San Francisco, CA 94103',
'description': 'A chance to hear more about Google's developer products.',
'start': {
'dateTime': '2015-05-28T09:00:00-07:00',
'timeZone': 'America/Los_Angeles',
},
'end': {
'dateTime': '2015-05-28T17:00:00-07:00',
'timeZone': 'America/Los_Angeles',
},
'recurrence': [
'RRULE:FREQ=DAILY;COUNT=2'
],
'attendees': [
{'email': 'lpage@example.com'},
{'email': 'example@mail.com'}, 
],
'reminders': {
'useDefault': "False",
'overrides': [
{'method': 'email', 'minutes': 24 * 60},
{'method': 'popup', 'minutes': 10},
],
}
}

Calendar.Events.insert(event, "your calendar id");
}

我从文档中得到了这个例子。

第二个选项

提交表单时获得对用户日历的写访问权限。这可以通过使用带有onSubmit((触发器的日历ACL规则并将代码附加到表单来完成:

警告:这将允许读取写入访问用户日历的所有事件

function onSubmit(){
var rule = {
"role": "writer",
"scope": {
"type": "user",
"value": "your_email"
}
}
Calendar.Acl.insert(rule, "primary"); //"primary" is the id of each user's main calendar
}

用户必须接受权限,否则您将无法访问他们的日历。然后,您必须像在第一个选项中那样创建事件。

有关ACL规则的更多信息,如果它们来自您的域或组

最新更新