YouTube API TypeError:回调不是函数

时间:2018-04-06 15:46:19

标签: node.js youtube-data-api

我尝试使用nodejs https://developers.google.com/youtube/v3/docs/search/list#usage

收集这样的搜索结果

并且有功能

  Dim Withevents tmr As New Forms.Timer
  Dim myXLocation as integr
  Private sub Btn_Click()
    Tmr.start()

  Private sub tmr_Tick()
    myXloc= myXloc+ 1
    MyForm.Location=New Point(myXloc,yloc)
    If myXloc>= 190 Then  'change 190 to whatever u want :)
     Tmr.Stop()   
    End if 

fucntion必须返回搜索结果的集合,但在我的情况下,它返回Request

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);
  });
}

然后抛出错误

$ 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,
谁能告诉我我做错了什么。感谢

1 个答案:

答案 0 :(得分:2)

解决方案比我想象的简单。 我卸载googleapis和google-auth-library并安装旧版本

 "google-auth-library": "^0.12.0",
 "googleapis": "^21.3.0"
谷歌,为新版本重写你的API或警告我们必须安装旧版本