Google Drive API失败,因为库的google.drive功能不存在

JR *_*ith 4 google-api

我一直在关注google驱动器API的node.js快速启动示例:在此处输入链接描述在修复了json查找过期属性和其他一些小错误更正的问题之后,我遇到了一个错误,我不知道不知道如何解决(虽然很清楚是什么问题).

特别:

TypeError: google.drive is not a function
at listFiles (D:\myproject\quickstart.js:107:24)
at D:\myproject\quickstart.js:77:7
at D:\myproject\node_modules\google-auth-library\lib\auth\oauth2client.js:95:13
at Request._callback (D:\myproject\node_modules\google-auth-library\lib\transporters.js:113:17)
at Request.self.callback (D:\myproject\node_modules\request\request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (D:\myproject\node_modules\request\request.js:1163:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
Run Code Online (Sandbox Code Playgroud)

很明显,该函数在加载的库中不存在,不清楚它的位置.对于加载的npm模块,只要"google.drive"返回看起来像快速入门代码的结果并且"驱动器"出现在任何地方,就没有任何有用的东西.

有没有人有任何线索如何解决这个问题?

Tan*_*ike 8

如果您使用的是最新版本的googleapis(googleapis@26.0.1),则必须修改Quickstart的脚本.请修改如下.对于node.js,不仅可以在Drive API中确认,还可以在其他API中确认.我认为该文档没有跟上更新的库.

来自:

var google = require('googleapis');
Run Code Online (Sandbox Code Playgroud)

至 :

var {google} = require('googleapis');
Run Code Online (Sandbox Code Playgroud)

注意 :

  • 当您使用v24或更低版本的googleapis时,var google = require('googleapis');可以使用.

参考:

如果这对你的情况没用,我很抱歉.