首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YouTube API TypeError:回调不是一个函数

YouTube API TypeError:回调不是一个函数
EN

Stack Overflow用户
提问于 2018-04-06 15:46:19
回答 1查看 869关注 0票数 2

我尝试用nodejs https://developers.google.com/youtube/v3/docs/search/list#usage收集这样的搜索结果

还有功能

代码语言:javascript
复制
function searchListByKeyword(auth, requestData) {
  var service = google.youtube('v3');
  var parameters = removeEmptyParameters(requestData['params']);
  parameters['auth'] = auth;
  service.search.list(parameters, function(err, response) {
    if (err) {
      console.log('The API returned an error: ' + err);
      return;
    }
    console.log(response);
  });
}

函数必须返回搜索结果的集合,但在我的示例中它返回请求。

代码语言:javascript
复制
$ node quickstart
Request {
  _events:
   { error: [Function: bound ],
     complete: [Function: bound ],
     pipe: [Function] },
  _eventsCount: 3,
  _maxListeners: undefined,
  url: 'https://www.googleapis.com/youtube/v3/search',
  method: 'GET',
  paramsSerializer: [Function],
  headers:
   { 'Accept-Encoding': 'gzip',
     'User-Agent': 'google-api-nodejs-client/28.1.0 (gzip) google-api-nodejs-client/0.12.0',
     Authorization: 'Bearer ya29.GluVBXvsx3nP15QlV-MqcypX1eEvDQ3BuXttbfQyR7ZlTpfO26sZnrh7Sl0sWsOCdGsJWHpHtE9XJv0jDqoWmVOZoJbQLqqQs3ujIPlATDQBHxu5nNorO8JBCE6y',
     host: 'www.googleapis.com' },
  params: { maxResults: '25', part: 'snippet', q: 'surfing', type: 'qwe' },
  maxContentLength: 2147483648,
  validateStatus: [Function],
  uri:
   Url {
     protocol: 'https:',
     slashes: true,

在这一切之后,抛出一个错误

代码语言:javascript
复制
C:\Users\wwwba\Desktop\youtube\node_modules\google-auth-library\lib\auth\oauth2client.js:341
        callback(err, result, response);
        ^

TypeError: callback is not a function
    at OAuth2Client.postRequest (C:\Users\wwwba\Desktop\youtube\node_modules\google-auth-library\lib\auth\oauth2client.js:341:9)
    at postRequestCb (C:\Users\wwwba\Desktop\youtube\node_modules\google-auth-library\lib\auth\oauth2client.js:297:23)
    at Request._callback (C:\Users\wwwba\Desktop\youtube\node_modules\google-auth-library\lib\transporters.js:113:17)
    at Request.self.callback (C:\Users\wwwba\Desktop\youtube\node_modules\request\request.js:186:22)
    at Request.emit (events.js:180:13)
    at Request.<anonymous> (C:\Users\wwwba\Desktop\youtube\node_modules\request\request.js:1163:10)
    at Request.emit (events.js:180:13)
    at IncomingMessage.<anonymous> (C:\Users\wwwba\Desktop\youtube\node_modules\request\request.js:1085:12)
    at Object.onceWrapper (events.js:272:13)
    at IncomingMessage.emit (events.js:185:15)

有人能告诉我我做错了什么吗。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-06 16:36:32

解决办法比我想象的简单。我卸载googleapis和google-auth库并安装它们的旧版本。

代码语言:javascript
复制
 "google-auth-library": "^0.12.0",
 "googleapis": "^21.3.0"

google,重写新版本的api,或者警告我们必须安装旧版本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49696540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档