使用Google API的YouTube搜索Node.js

YouTube Search Node.js with Google API

本文关键字:搜索 Node js YouTube Google API 使用      更新时间:2023-09-26

我正在尝试使用Node中的Google API进行YouTube搜索。

我把它当作一个教程:

https://github.com/google/google-api-nodejs-client/#google-api nodejs客户端

我有一些基本的工作

var google = require('googleapis');
var YOUTUBE_API_KEY = "--YOUR_API_KEY";
var youtube = google.youtube('v3');
var requests = youtube.search.list({part:'snippet', q: 'cats', maxResults: 10});

当我打这个电话时,我会收到这样的信息:

Error: Daily limit for Unauthenticated Used Exceeded.

现在,这显然是因为我没有使用我的API密钥。然而,我找不到任何资源可以向您展示如何将API密钥用于Node。

我找到的任何东西告诉我做这样的事情:

var YOUTUBE_CLIENT_KEY = '';
var CLIENT_SECRET = '';
var REDIRECT_URL = '/';
var OAuth2 = google.auth.OAuth2;
var oauth2Client = new OAuth2(CLIENT_ID, CLIENT_SECRET, REDIRECT_URL);
google.options({auth: oauth2Client});

然后是我的"youtube.search.list…".

这种方法的问题是我不知道从哪里得到:

  • 客户端ID
  • 客户端客户端
  • 重定向URL

我在网上找不到这些。我试着只遵循Javascript教程,因为Node显然使用Javascript,尽管它总是需要oAuth2……这需要上面三件事。

有什么帮助/提示吗?

您应该在auth参数中输入api键。这是按照https://github.com/google/google-api-nodejs-client/#google-api nodejs客户端示例文档。

var google = require('googleapis');
var youtube = google.youtube({
   version: 'v3',
   auth: "your-api-key"
});

youtube.search.list({
    part: 'snippet',
    q: 'your search query'
  }, function (err, data) {
    if (err) {
      console.error('Error: ' + err);
    }
    if (data) {
      console.log(data)
    }
  });

感谢

我花了一段时间才找到这一点,但我是node.js和googleapi的初学者,所以如果其他人想扩展这个答案,他们可以。

我认为只需使用Simple API密钥即可设置,只是警告您应该只在服务器端保留此密钥。千万不要把这把钥匙给别人,否则会被人滥用的!

var googleapis = require('googleapis');
googleapis.client.setApiKey('YOUR API KEY');

通过找到此https://developers.google.com/api-client-library/javascript/features/authentication在使用API密钥的简单访问下