Javascript谷歌日历api不工作
在我的站点中,我想使用javascript api向google calender添加事件。我更改了邮件。但我在fire bug中出错 这是我的代码:Javascript谷歌日历api不工作,javascript,google-calendar-api,Javascript,Google Calendar Api,在我的站点中,我想使用javascript api向google calender添加事件。我更改了邮件。但我在fire bug中出错 这是我的代码: <html> <head> <script type="text/javascript" src="http://www.google.com/jsapi"> google.load("gdata", "1"); google.setOnLoadCallback(getMyFeed); </scrip
<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi">
google.load("gdata", "1");
google.setOnLoadCallback(getMyFeed);
</script>
</head>
<body>
<script type="text/javascript">
var myService;
var feedUrl = "http://www.google.com/calendar/feeds/galtech.staffs@gmail.com/private/full";
function logMeIn() {
scope = "http://www.google.com/calendar/feeds/";
var token = google.accounts.user.login(scope);
}
function setupMyService() {
myService = new google.gdata.calendar.CalendarService('exampleCo-exampleApp-1');
logMeIn();
}
function getMyFeed() {
setupMyService();
myService.getEventsFeed(feedUrl, handleMyFeed, handleError);
}
function handleMyFeed(myResultsFeedRoot) {
alert("This feed's title is: " + myResultsFeedRoot.feed.getTitle().getText());
}
function handleError(e) {
alert("There was an error!");
alert(e.cause ? e.cause.statusText : e.message);
}
// Create the calendar service object
var calendarService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0');
// The default "private/full" feed is used to insert event to the
// primary calendar of the authenticated user
var feedUri = 'https://www.google.com/calendar/feeds/default/private/full';
// Create an instance of CalendarEventEntry representing the new event
var entry = new google.gdata.calendar.CalendarEventEntry();
// Set the title of the event
entry.setTitle(google.gdata.Text.create('JS-Client: insert event'));
// 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);
// The callback method that will be called after a successful insertion from insertEntry()
var callback = function(result) {
PRINT('event created!');
}
// Error handler will be invoked if there is an error from insertEntry()
var handleError = function(error) {
PRINT(error);
}
// Submit the request using the calendar service object
calendarService.insertEntry(feedUri, entry, callback, handleError, google.gdata.calendar.CalendarEventEntry);
</script>
<form>
<input type="button" value="Start" onClick="getMyFeed()" />
</form>
</body>
</html>
我的代码中有什么问题?您正在调用
google.gdata
,但它尚未存在。在阅读代码时,看起来您正在动态加载gdata库。看起来是在加载时调用getMyFeed
。因此,在执行getMyFeed
之前,不要尝试访问google.gdata
我还建议将内联脚本移到头部,特别是在另一个
脚本标记上方。使用window.onload事件包装所有javascript代码,
我认为这将帮助您摆脱“google.gdata是未定义的”错误
google.gdata is undefined
...Service = new google.gdata.calendar.CalendarService('exampleCo-exampleApp-1'...