使用golang在谷歌日历上添加提醒
我想使用golang向Google日历添加自定义提醒:使用golang在谷歌日历上添加提醒,go,google-calendar-api,Go,Google Calendar Api,我想使用golang向Google日历添加自定义提醒: event := &calendar.Event{ Summary: "Test GG calendar", Location: "31 AAA", Description: "Test google calendar", Start: &calendar.EventDateTime{ DateTime: "2016-12-27T17:30:00+07:00",
event := &calendar.Event{
Summary: "Test GG calendar",
Location: "31 AAA",
Description: "Test google calendar",
Start: &calendar.EventDateTime{
DateTime: "2016-12-27T17:30:00+07:00",
TimeZone: "Asia/Ho_Chi_Minh",
},
End: &calendar.EventDateTime{
DateTime: "2016-12-27T17:40:00+07:00",
TimeZone: "Asia/Ho_Chi_Minh",
},
Reminders: &calendar.EventReminders{
Overrides: []*calendar.EventReminder{
{Method: "email", Minutes: 30},
{Method: "popup", Minutes: 10},
},
UseDefault: false,
},
}
当我运行此代码时,google无法添加事件。我收到此错误:无法创建事件。googleapi:错误400:无法同时指定默认提醒和覆盖。不能使用默认提醒和指定覆盖
谢谢根据我对的阅读,您似乎不应该在设置覆盖
的同时指定usefault:false,
。不要将UseDefault:false,
part放入,它将默认为false,这是在想要删除已经存在的覆盖时唯一需要设置的
因此,预期的代码是:
event := &calendar.Event{
Summary: "Test GG calendar",
Location: "31 AAA",
Description: "Test google calendar",
Start: &calendar.EventDateTime{
DateTime: "2016-12-27T17:30:00+07:00",
TimeZone: "Asia/Ho_Chi_Minh",
},
End: &calendar.EventDateTime{
DateTime: "2016-12-27T17:40:00+07:00",
TimeZone: "Asia/Ho_Chi_Minh",
},
Reminders: &calendar.EventReminders{
Overrides: []*calendar.EventReminder{
{Method: "email", Minutes: 30},
{Method: "popup", Minutes: 10},
},
},
}
您应该使用
usefault
发送ForceSendFields
,并将usefault
设置为false
&calendar.EventReminders{
Overrides: []*calendar.EventReminder{
{
Method: "email",
Minutes: 12,
},
},
UseDefault: false,
ForceSendFields: []string{"UseDefault"},
}
谢谢你的回答。在Go中,bool的默认值是false,所以当我们没有指定它时,UserDefault值总是false。在这个示例代码中,我们必须为UserDefault:设置false。我不知道为什么谷歌删除了Go部分的提醒示例代码。您可以在Java或PHP部分看到它。我找到了解决方案。我们必须在usefault:false之后添加
ForceSendFields:[]字符串{“usefault”},
,因为他们认为false值是空值,并且没有将其发送到服务器: