我正在使用Javascript玩OAuth2和日历API。我使用下面的测试函数来查看事件是否被添加到日历中(在API对用户进行身份验证之后)。
function addTestEvent()
{
var event = {
'summary': 'Google I/O 2015',
'location': '800 Howard St., San Francisco, CA 94103',
'description': 'A chance to hear more about Google's developer products.',
'start': {
'dateTime': '2015-05-28T09:00:00-07:00',
'timeZone': 'America/Los_Angeles'
},
'end': {
'dateTime': '2015-05-28T17:00:00-07:00',
'timeZone': 'America/Los_Angeles'
}
};
var request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': event
});
request.execute(function(event) {
alert(event.htmlLink);
alert("called?");
});
}
我使用文档中的示例。
在控制台中,我得到消息说日历是未定义的(指var request =…)线)
Uncaught TypeError: Cannot read property 'calendar' of undefined
我已经包括了
<script src="https://apis.google.com/js/api.js"></script>
在我的页面。我哪里做错了?
还有,有没有一个教程或一个好的例子可以帮助我理解整个过程,因为在我看来文档有点薄?
你应该提供更多的代码,因为如果它说calendar
的未定义,那么我假设gapi.client
的client
没有正确实例化。
可能需要确保在您尝试访问客户端之前所有的事情都完成了,因为客户端需要验证凭据。
这个文档示例应该是相当直接的复制粘贴和修改,以获得一个工作示例:https://developers.google.com/calendar/quickstart/js