![](/img/trans.png)
[英]Using Javascript & Google Calendar API v3, how do I allow the user to specify a non-primary calendar to add an event?
[英]Google Calendar API - How do I create a QUICK ADD event using javascript?
我只是在学习Google的Calendar API,无法弄清楚如何使用JavaScript创建快速添加事件。 这可能吗? 是否有任何示例或文档?
这是行不通的-以下代码不是在明天上午10点创建一个称为“咖啡”的事件,而是在我发布该事件的任何时间创建一个事件集,并将“明天上午10点咖啡”放置在描述字段中。
function createEvent() {
var calendarService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0');
var feedUri = 'http://www.google.com/calendar/feeds/my-calendar-url/private/full';
var entry = new google.gdata.calendar.CalendarEventEntry();
entry.setContent(new google.gdata.atom.Text.create("Coffee tomorrow 10am"));
entry.setQuickAdd(true);
var callback = function (result) {
$('#panel').html('event created!');
}
var handleError = function (error) {
$('#panel').html(error);
}
calendarService.insertEntry(feedUri, entry, callback, handleError, google.gdata.calendar.CalendarEventEntry);
}
我究竟做错了什么? 我在做什么对不对?
谢谢!
-alex-
我认为您需要为事件日期添加最少的数据,我猜是“什么”和“何时”
即
// Create a When object that will be attached to the event
var when = new google.gdata.When();
// Set the start and end time of the When object
var startTime = google.gdata.DateTime.fromIso8601("2008-02-10T09:00:00.000-08:00");
var endTime = google.gdata.DateTime.fromIso8601("2008-02-10T10:00:00.000-08:00");
when.setStartTime(startTime);
when.setEndTime(endTime);
// Add the When object to the event
entry.addTime(when);
因此,如果您将上面的代码更改为
function createEvent() {
var calendarService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0');
var feedUri = 'http://www.google.com/calendar/feeds/my-calendar-url/private/full';
var entry = new google.gdata.calendar.CalendarEventEntry();
entry.setTitle(new google.gdata.atom.Text.create("Coffee tomorrow 10am"));
var when = new google.gdata.When();
var startTime = google.gdata.DateTime.fromIso8601("2008-02-10T09:00:00.000-08:00");
var endTime = google.gdata.DateTime.fromIso8601("2008-02-10T10:00:00.000-08:00");
when.setStartTime(startTime);
when.setEndTime(endTime);
entry.addTime(when);
var callback = function (result) {
$('#panel').html('event created!');
}
var handleError = function (error) {
$('#panel').html(error);
}
calendarService.insertEntry(feedUri, entry, callback, handleError, google.gdata.calendar.CalendarEventEntry);
}
应该可以,请注意我将setContent
更改为setTitle
------------------------编辑------------------------- ----
上面的答案是正常添加事件,最初没有得到问题。 但是要添加快速事件,应该
function createEvent() {
var calendarService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0');
var feedUri = 'http://www.google.com/calendar/feeds/my-calendar-url/private/full';
var entry = new google.gdata.calendar.CalendarEventEntry();
entry.setContent(new google.gdata.atom.Text.create("Coffee June 25 10am-10:30am"));
entry.setQuickAdd(true);
var callback = function (result) {
$('#panel').html('event created!');
}
var handleError = function (error) {
$('#panel').html(error);
}
calendarService.insertEntry(feedUri, entry, callback, handleError, google.gdata.calendar.CalendarEventEntry);
}
注意setContent,应该清楚要将事件快速添加到的日期
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.