繁体   English   中英

Google Calendar API-如何使用JavaScript创建QUICK ADD事件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM