Update: Video.search add trends'
This commit is contained in:
parent
5f20411dd8
commit
474e40b0dd
1 changed files with 28 additions and 14 deletions
|
|
@ -34,31 +34,38 @@ exports.search = async (req, res) => {
|
||||||
const token = checkLogin(req, res);
|
const token = checkLogin(req, res);
|
||||||
if(token && typeof req.query.q !== 'undefined'){
|
if(token && typeof req.query.q !== 'undefined'){
|
||||||
const query = req.query.q;
|
const query = req.query.q;
|
||||||
|
const maxResults = req.query.maxResults ? req.query.maxResults : 45;
|
||||||
|
const pageToken = req.query.pageToken ? req.query.pageToken : undefined;
|
||||||
let sources;
|
let sources;
|
||||||
if(typeof req.query.sources !== 'undefined' && req.query.sources !== ''){
|
if(typeof req.query.sources !== 'undefined' && req.query.sources !== ''){
|
||||||
sources = req.query.sources.split(',');
|
sources = req.query.sources.split(',');
|
||||||
} else {
|
} else {
|
||||||
sources = ["yt", "dm"];
|
sources = ["yt", "dm"];
|
||||||
}
|
}
|
||||||
const maxResults = req.query.maxResults ? req.query.maxResults : 45;
|
|
||||||
const pageToken = req.query.pageToken ? req.query.pageToken : undefined;
|
|
||||||
|
|
||||||
let yt_results = [];
|
let yt_results = [];
|
||||||
let dm_results = [];
|
let dm_results = [];
|
||||||
for(const i in sources){
|
for(const i in sources){
|
||||||
if(sources[i] === youtube.shortname){
|
if(sources[i] === youtube.shortname){
|
||||||
if(youtube.YOUTUBE_API_KEY !== 'undefined' && youtube.YOUTUBE_API_KEY !== ''){
|
if(youtube.YOUTUBE_API_KEY !== 'undefined' && youtube.YOUTUBE_API_KEY !== ''){
|
||||||
let uri;
|
let uri;
|
||||||
if(typeof pageToken !== 'undefined'){
|
if(query !== ''){
|
||||||
uri = youtube.baseAPIUrl+'/search'+'?part=snippet&maxResults='+maxResults+'&q='+query+'&pageToken='+pageToken+'&key='+youtube.YOUTUBE_API_KEY;
|
if(typeof pageToken !== 'undefined'){
|
||||||
} else{
|
uri = youtube.baseAPIUrl+'/search'+'?part=snippet&maxResults='+maxResults+'&q='+query+'&pageToken='+pageToken+'&key='+youtube.YOUTUBE_API_KEY;
|
||||||
uri = youtube.baseAPIUrl+'/search'+'?part=snippet&maxResults='+maxResults+'&q='+query+'&key='+youtube.YOUTUBE_API_KEY;
|
} else{
|
||||||
}
|
uri = youtube.baseAPIUrl+'/search'+'?part=snippet&maxResults='+maxResults+'&q='+query+'&key='+youtube.YOUTUBE_API_KEY;
|
||||||
const dataIds = await asyncRequest(uri, {});
|
}
|
||||||
if(dataIds.response.statusCode === 200 && dataIds.body.items.length > 0){
|
const dataIds = await asyncRequest(uri, {});
|
||||||
let yt_videoIds = "";
|
if(dataIds.response.statusCode === 200 && dataIds.body.items.length > 0){
|
||||||
dataIds.body.items.forEach(item => yt_videoIds = yt_videoIds+item.id.videoId+",");
|
let yt_videoIds = "";
|
||||||
uri = youtube.baseAPIUrl+'/videos'+'?part=snippet&part=statistics&id='+yt_videoIds.slice(0, -1)+'&key='+youtube.YOUTUBE_API_KEY;
|
dataIds.body.items.forEach(item => yt_videoIds = yt_videoIds+item.id.videoId+",");
|
||||||
|
uri = youtube.baseAPIUrl+'/videos'+'?part=snippet&part=statistics&id='+yt_videoIds.slice(0, -1)+'&key='+youtube.YOUTUBE_API_KEY;
|
||||||
|
const dataVideos = await asyncRequest(uri, {});
|
||||||
|
if(dataVideos.response.statusCode === 200 && dataVideos.body.items.length > 0){
|
||||||
|
yt_results = dataVideos.body.items;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
uri = youtube.baseAPIUrl+'/videos'+'?part=snippet&part=statistics&chart=mostPopular&key='+youtube.YOUTUBE_API_KEY;
|
||||||
const dataVideos = await asyncRequest(uri, {});
|
const dataVideos = await asyncRequest(uri, {});
|
||||||
if(dataVideos.response.statusCode === 200 && dataVideos.body.items.length > 0){
|
if(dataVideos.response.statusCode === 200 && dataVideos.body.items.length > 0){
|
||||||
yt_results = dataVideos.body.items;
|
yt_results = dataVideos.body.items;
|
||||||
|
|
@ -69,10 +76,17 @@ exports.search = async (req, res) => {
|
||||||
}
|
}
|
||||||
} else if(sources[i] === dailymotion.shortname){
|
} else if(sources[i] === dailymotion.shortname){
|
||||||
if(dailymotion.DAILYMOTION_API_KEY !== 'undefined' && dailymotion.DAILYMOTION_API_KEY !== '') {
|
if(dailymotion.DAILYMOTION_API_KEY !== 'undefined' && dailymotion.DAILYMOTION_API_KEY !== '') {
|
||||||
const uri = dailymotion.baseAPIUrl + '/videos?limit='+maxResults+'&search='+query+'&fields=created_time%2Cdescription%2Cthumbnail_480_url%2Clikes_total%2Ctitle%2Cid%2Cembed_url%2Cviews_total%2Cowner.username%2Cowner.id%2Cchannel.name';
|
let uri;
|
||||||
|
if(query !== ''){
|
||||||
|
uri = dailymotion.baseAPIUrl + '/videos?limit='+maxResults+'&search='+query+'&fields=created_time%2Cdescription%2Cthumbnail_480_url%2Clikes_total%2Ctitle%2Cid%2Cembed_url%2Cviews_total%2Cowner.username%2Cowner.id%2Cchannel.name';
|
||||||
|
} else {
|
||||||
|
uri = dailymotion.baseAPIUrl + '/videos?limit='+maxResults+'&sort=trending&fields=created_time%2Cdescription%2Cthumbnail_480_url%2Clikes_total%2Ctitle%2Cid%2Cembed_url%2Cviews_total%2Cowner.username%2Cowner.id%2Cchannel.name';
|
||||||
|
}
|
||||||
|
console.log(uri);
|
||||||
const data = await asyncRequest(uri, {});
|
const data = await asyncRequest(uri, {});
|
||||||
const response = data.response;
|
const response = data.response;
|
||||||
const jsonBody = data.body;
|
const jsonBody = data.body;
|
||||||
|
console.log(jsonBody);
|
||||||
if(response.statusCode === 200){
|
if(response.statusCode === 200){
|
||||||
dm_results = jsonBody.list;
|
dm_results = jsonBody.list;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue