未捕获的类型错误:无法读取未定义的属性'calendar' - Google 日历 API



我正在使用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.clientclient没有正确实例化。

可能需要确保在您尝试访问客户端之前所有的事情都完成了,因为客户端需要验证凭据。

这个文档示例应该是相当直接的复制粘贴和修改,以获得一个工作示例:https://developers.google.com/calendar/quickstart/js

最新更新