我有以下JSON
var resource = {
"summary": "Sample Event",
"start": {
"dateTime": sample1
},
"end": {
"dateTime": twoHoursLater
},
"reminders": {
"useDefault": false,
"overrides": [
{
"method": "popup",
"minutes": "5"
},
{
"method": "email",
"minutes": "5"
}
]
}
};
我可以使用下面的代码将它插入到google日历中
function addEvent() {
gapi.client.load('calendar', 'v3', function() {
var request = gapi.client.calendar.events.insert({
'calendarId': calendarId,
'resource': resource
});
request.execute(function(resp) {
console.log(resp);
});
});
}
在谷歌日历网站中,它显示为:
5 minutes before, as email
5 minutes before
正如你所看到的事件,我有提醒,这意味着它将通过弹出式窗口和电子邮件通知,在事件开始前5分钟。
现在,问题是我想用api以编程的方式删除这个事件提醒。
到目前为止我所做的:
测试1:
根据文件
https://developers.google.com/calendar/concepts/reminders
它显示“要恢复到默认的提醒集,请执行更新设置
reminders.useDefault
回到
true.
"
var resource3 = {
"summary": "Sample Event xx",
"start": {
"dateTime": sample1
},
"end": {
"dateTime": twoHoursLater
},
"reminders": {
"useDefault": true
}
};
function updateEvent(eventId) {
gapi.client.load('calendar', 'v3', function() {
var request = gapi.client.calendar.events.patch({
'calendarId': calendarId,
'eventId': eventId,
'resource': resource3
});
request.execute(function(resp) {
console.log(resp);
});
});
}
上面的代码将返回一个错误
Cannot specify both default reminders and overrides at the same time.
在控制台里。
测试2:
基于stackoverflow的公认答案
Google Calendar API: How to disable Notifications?
上面写着“所以我想你可以
"useDefault": false
并且不提供任何覆盖,这将导致事件没有提醒。”
var resource3 = {
"summary": "Sample Event xx",
"start": {
"dateTime": sample1
},
"end": {
"dateTime": twoHoursLater
},
"reminders": {
"useDefault": false
}
};
function updateEvent(eventId) {
gapi.client.load('calendar', 'v3', function() {
var request = gapi.client.calendar.events.patch({
'calendarId': calendarId,
'eventId': eventId,
'resource': resource3
});
request.execute(function(resp) {
console.log(resp);
});
});
}
修补/更新可用于其他字段,如
summary
我是说,
start
,和
end
是的。但它不会删除事件提醒。
测试3:
这就是我到目前为止所做的实验。我完全删除了提醒。仍然没有运气。输出与测试2相同。
var resource3 = {
"summary": "Sample Event xx",
"start": {
"dateTime": sample1
},
"end": {
"dateTime": twoHoursLater
}
};
unction updateEvent(eventId) {
gapi.client.load('calendar', 'v3', function() {
var request = gapi.client.calendar.events.patch({
'calendarId': calendarId,
'eventId': eventId,
'resource': resource3
});
request.execute(function(resp) {
console.log(resp);
});
});
}
你知道如何删除事件提醒吗?