Javascript 使用Google API的YouTube Search Node.js

Javascript 使用Google API的YouTube Search Node.js,javascript,node.js,api,youtube,Javascript,Node.js,Api,Youtube,我正在尝试在节点中使用谷歌API进行YouTube搜索 我将此作为一个教程: 我有一些基本的工作: 当我打这个电话时,我收到这样的信息: Error: Daily limit for Unauthenticated Used Exceeded. 这显然是因为我没有使用API密钥。但是,我找不到任何资源向您展示API密钥如何用于节点 我发现的任何东西都告诉我要做这样的事情: var YOUTUBE_CLIENT_KEY = ''; var CLIENT_SECRET = ''; var RED

我正在尝试在节点中使用谷歌API进行YouTube搜索

我将此作为一个教程:

我有一些基本的工作:

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

Error: Daily limit for Unauthenticated Used Exceeded.
这显然是因为我没有使用API密钥。但是,我找不到任何资源向您展示API密钥如何用于节点

我发现的任何东西都告诉我要做这样的事情:

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…”

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

  • 客户识别码
  • 客户机密
  • 重定向URL
我在网上任何地方都找不到这些。我试着只学习Javascript教程,因为Node显然使用Javascript,尽管它总是需要oAuth2。。。这需要以上三点


有什么帮助/提示吗?

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

我认为只需使用简单的API密钥进行设置,只是警告您应该只将此密钥保留在服务器端。千万不要把钥匙拿出来,否则会被滥用

var googleapis = require('googleapis');
googleapis.client.setApiKey('YOUR API KEY');
找到这个
在使用API键的Simple access下,我花了一些时间才找到这一点,但我是node.js和googleapis的初学者,因此如果其他人想扩展这个答案,他们可以

我认为只需使用简单的API密钥进行设置,只是警告您应该只将此密钥保留在服务器端。千万不要把钥匙拿出来,否则会被滥用

var googleapis = require('googleapis');
googleapis.client.setApiKey('YOUR API KEY');
找到这个
在使用API密钥的简单访问下,应在auth参数中输入API密钥。根据示例文档,这是正确的做法

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

谢谢

您应该在auth参数中输入api密钥。根据示例文档,这是正确的做法

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

谢谢

您是否检查了自述文件中的“使用API密钥”会话?在发出请求时,您必须使用
key
auth
param传递API密钥。哇,我觉得有点愚蠢。这使得我可以进行查询,尽管它只是给了我一个巨大的JSON对象。我不知道它是否真的包含可能的youtube视频,或者它似乎没有。一旦你在Google开发者控制台中创建了一个项目,你就会在那里获得客户ID和密码:。@limekin我所能看到的只是一个项目ID。当我转到API&auth>凭据时,也没有任何秘密。另外,我发现它提供了一个URL,其中包含查询信息的JSON。尽管有可能我在初始JSON对象中的某个地方丢失了这些信息吗?或者我只是需要使用这个URL来获取信息吗?啊,你可以查看YouTube数据API的参考,了解你可以发送和接收什么。既然您正在这里试用列表检查列表:您是否检查了自述文件中的“使用API密钥”会话?在发出请求时,您必须使用
key
auth
param传递API密钥。哇,我觉得有点愚蠢。这使得我可以进行查询,尽管它只是给了我一个巨大的JSON对象。我不知道它是否真的包含可能的youtube视频,或者它似乎没有。一旦你在Google开发者控制台中创建了一个项目,你就会在那里获得客户ID和密码:。@limekin我所能看到的只是一个项目ID。当我转到API&auth>凭据时,也没有任何秘密。另外,我发现它提供了一个URL,其中包含查询信息的JSON。尽管有可能我在初始JSON对象中的某个地方丢失了这些信息吗?或者我只是需要使用这个URL来获取信息吗?啊,你可以查看YouTube数据API的参考,了解你可以发送和接收什么。因为您正在这里尝试列表检查列表:如果您得到并出错,请尝试以下操作:
const{google}=require('googleapis')现在更新为var google=require('googleapis');var youtube=new google.youtube_v3.youtube({version:'v3',auth:KEY});search.list({part:'snippet',q:'channelId=UCJrDMFOdv1I2k8n9oK_V21w'},函数(err,data){if(err){console.error('error:'+err);}if(data){console.log(data)});如果出现错误,请尝试以下操作:
const{google}=require('googleapis')现在更新为var google=require('googleapis');var youtube=new google.youtube_v3.youtube({version:'v3',auth:KEY});search.list({part:'snippet',q:'channelId=UCJrDMFOdv1I2k8n9oK_V21w'},函数(err,data){if(err){console.error('error:'+err);}if(data){console.log(data)});