错误 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();