angular - 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 未定义。
这是调试模式下的屏幕截图
解决方案
我相信 gapi 并不意味着与 node 或 Angular 一起使用。试用Google APIs Node.js 客户端
推荐阅读
- c# - 一个中间件如何调用另一个?
- react-native - React 功能组件未在道具更改时呈现
- android - 移动视图的 Android 碰撞检测错误行为
- javascript - 如何打印在离子菜单中单击的名称的ID
- github - codeload.github.com 与 api.github.com 有何不同?
- gradle - Gradle:在构建中包含动态生成的文件?
- python - 使用 pyTrends 时:我必须在代码中的哪个位置输入“谷歌密码”和“谷歌用户名”才能登录谷歌?
- javascript - 在 fetchcall 中将“”替换为 %20
- php - 无法在 magento 2 中保存新客户详细信息
- php - mysql不接受表名