2017-02-20 61 views
1

蔭試圖使用YouTube API查找使用YouTube api.I特定視頻信息已使用HTTPS模塊,用於發送和接收數據錯誤400:必需的參數部分

這是我已經使用

代碼
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我找不到原因,它不管用 。

回答

1

您可以通過直接作爲查詢字符串的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(); 
+0

非常感謝你:) –

相關問題