首页 > 解决方案 > gapi.client.youtube 在 Angular 应用程序中未定义

问题描述

注意:我知道该主题看起来与其他问题相似,但有所不同

我有调用 Google API (gapi) 的 Angular 应用程序。

我有调用 gmail api、日历 api 和 youtube api 的函数。

在这里我有两个问题:

问题1:为什么youtube在这里无法识别?虽然我安装了所有类型:

在此处输入图像描述

在此处输入图像描述

问题2:运行应用程序时,gmail api和calendar api调用工作正常,但是youtube api调用会抛出youtube未定义的错误?

getMessages() {
    return gapi.client.gmail.users.messages.list({ userId: 'me', labelIds: ['INBOX', 'UNREAD'] }).then();
}
getEvents() {
    return gapi.client.calendar.calendarList.list().then();
}

getChannels() {
    return gapi.client.youtube.channels.list({'part': 'snippet', 'mine': 'true'}).then();
}

由于某种原因在 getChannels() 函数中出现错误

Uncaught TypeError: Cannot read property 'channels' of **undefined**

其中gapi.client.youtube未定义。

gapi 已定义,客户端也已定义,但 youtube 未定义。

任何帮助表示赞赏。如您所见,这些 api 的调用方式没有区别,签名相同,不明白为什么 youtube 未定义。

这是调试模式下的屏幕截图

在此处输入图像描述

标签: angulargoogle-api-js-client

解决方案


我相信 gapi 并不意味着与 node 或 Angular 一起使用。试用Google APIs Node.js 客户端

编辑:不是独立的,但这是一个包含更新和说明的相关线程


推荐阅读