未捕获的TypeError:无法读取属性' calendar'未定义 - Google Calendar API

时间:2016-11-16 21:48:58

标签: javascript calendar google-calendar-api google-oauth

我正在使用Javascript来玩OAuth2和Calendar 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 = ... line)

Uncaught TypeError: Cannot read property 'calendar' of undefined

我已经包含了

<script src="https://apis.google.com/js/api.js"></script>

在我的页面中。我在这里做错了什么?

另外,是否有一个教程或一个很好的例子可以帮助我理解整个过程,因为我认为文档有点薄?

1 个答案:

答案 0 :(得分:0)

您应该提供更多代码,因为如果它说calendar未定义,那么我假设client的{​​{1}}未被实例化正确。

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

此文档示例应该是一个相当直接的复制粘贴并修改以获得一个有效的示例:https://developers.google.com/calendar/quickstart/js