错误 400:必需的参数部分
Error 400 : Required parameter part
我正在尝试使用 youtube api 使用 youtube 查找有关特定视频的信息 api.I 已使用 https 模块发送和接收数据
这是我用过的代码
var youtube_query=querystring.stringify({
q:'bangarang',
key:'api_key',
part:'snippet'
});
var options_you = {
host:'www.googleapis.com',
method:'GET',
path:'/youtube/v3/search'
};
function getvid_id(vid_result){
//callback function for finding the information on the video
vid_result.setEncoding('utf8');
console.log("STATUS :"+vid_result.statusCode);//to show the status code
vid_result.on('data', function (body) {
console.log(body);
});
}
var youtube_request = https.request(options_you,getvid_id);
youtube_request.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
youtube_request.write(youtube_query);
youtube_request.end();
但是我得到以下响应
STATUS :400
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Required parameter: part",
"locationType": "parameter",
"location": "part"
}
],
"code": 400,
"message": "Required parameter: part"
}
}
如您所见,我已经提供了部分parameter.But我找不到它不起作用的原因。
您可以将查询字符串直接传递到 path
字段,如:
var querystring = require("querystring");
var https = require("https");
var youtube_query = querystring.stringify({
q: 'bangarang',
key: 'api_key',
part: 'snippet'
});
var options_you = {
host: 'www.googleapis.com',
method: 'GET',
path: '/youtube/v3/search?' + youtube_query
};
var youtube_request = https.request(options_you, function(res) {
res.on('data', function(d) {
process.stdout.write(d);
});
});
youtube_request.end();
我正在尝试使用 youtube api 使用 youtube 查找有关特定视频的信息 api.I 已使用 https 模块发送和接收数据
这是我用过的代码
var youtube_query=querystring.stringify({
q:'bangarang',
key:'api_key',
part:'snippet'
});
var options_you = {
host:'www.googleapis.com',
method:'GET',
path:'/youtube/v3/search'
};
function getvid_id(vid_result){
//callback function for finding the information on the video
vid_result.setEncoding('utf8');
console.log("STATUS :"+vid_result.statusCode);//to show the status code
vid_result.on('data', function (body) {
console.log(body);
});
}
var youtube_request = https.request(options_you,getvid_id);
youtube_request.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
youtube_request.write(youtube_query);
youtube_request.end();
但是我得到以下响应
STATUS :400
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Required parameter: part",
"locationType": "parameter",
"location": "part"
}
],
"code": 400,
"message": "Required parameter: part"
}
}
如您所见,我已经提供了部分parameter.But我找不到它不起作用的原因。
您可以将查询字符串直接传递到 path
字段,如:
var querystring = require("querystring");
var https = require("https");
var youtube_query = querystring.stringify({
q: 'bangarang',
key: 'api_key',
part: 'snippet'
});
var options_you = {
host: 'www.googleapis.com',
method: 'GET',
path: '/youtube/v3/search?' + youtube_query
};
var youtube_request = https.request(options_you, function(res) {
res.on('data', function(d) {
process.stdout.write(d);
});
});
youtube_request.end();