我正在使用youtube-node npm查找所有視頻列表。該文檔位於鏈接https://www.npmjs.com/package/youtube-node。從nodejs的YouTube頻道獲取結果
但我想,我的搜索只顯示特定通道即結果如果我搜索你好,那麼它只能給AdeleVEVO YouTube頻道的結果。 我找不到適合的文檔。我不想使用oauth證書,我只想使用youtube-node npm。
我正在使用youtube-node npm查找所有視頻列表。該文檔位於鏈接https://www.npmjs.com/package/youtube-node。從nodejs的YouTube頻道獲取結果
但我想,我的搜索只顯示特定通道即結果如果我搜索你好,那麼它只能給AdeleVEVO YouTube頻道的結果。 我找不到適合的文檔。我不想使用oauth證書,我只想使用youtube-node npm。
在包文檔中,您有樣本搜索,請確保您在params參數中包含所需值的對象,在您的案例中,請參閱youtube api doc,您需要指定channelId。試試這種方式:
var YouTube = require('youtube-node');
var youTube = new YouTube();
youTube.setKey('AIzaSyB1OOSpTREs85WUMvIgJvLTZKye4BVsoFU');
youTube.search('World War z Trailer', 2, {channelId: <string value of the channelId>}, function(error, result) {
if (error) {
console.log(error);
}
else {
console.log(JSON.stringify(result, null, 2));
}
})
;
如果您是該頻道的所有者,則可以使用YouTube API的forMine參數。設置此參數將限制搜索授權用戶的視頻。以下是the official documentation的樣本。
重要提示:不要使用youtube-node
模塊對於這一點,特別是因爲 - 在我的經驗,至少 - 在addParam()
函數不可靠的參數添加到請求(例如,在我的代碼我叫youtube_node.addParam('safeSearch', 'strict');
,但受限制的視頻仍將返回結果中。)
請改爲直接使用YouTube數據API,如this quickstart example中所示。
// Sample nodejs code for search.list
function searchListMine(auth, requestData) {
var service = google.youtube('v3');
var parameters = removeEmptyParameters(requestData['params']);
parameters['auth'] = auth;
service.search.list(parameters, function(err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
console.log(response);
});
}
//See full code sample for authorize() function code.
authorize(JSON.parse(content), {'params': {'maxResults': '25',
'forMine': 'true',
'part': 'snippet',
'q': 'fun',
'type': 'video'}}, searchListMine);
首先嚐試使用youtube的本地API來查看是否有可能。之後,您可以使用一些節點包在應用程序中進行復制 –