Skip to content
Snippets Groups Projects
Commit 993a0c8e authored by 다인 김's avatar 다인 김
Browse files

Delete fetchYoutube.js

parent d4daa487
No related branches found
No related tags found
1 merge request!44Feat/router
require('dotenv').config();
const fetchVidLength = require('./fetchVideoLength');
// API 키를 사용하여 유튜브 API에 검색 요청 보내기
async function fetchYoutube(query, iteration, videoObject, pageToken = '') {
const fetchUrl = `https://www.googleapis.com/youtube/v3/search?part=snippet&q=${encodeURIComponent(
query
)}
&type=video&maxResults=10&videoType=any&key=${
process.env.YOUTUBE_API_KEY
}&pageToken=${pageToken}`;
if (iteration >= maxiterations) {
return;
}
iteration++;
try {
const response = await fetch(fetchUrl);
const data = await response.json();
const results = await Promise.all(
data.items.map(async item => {
let { videoLength, videoLikes, channelTitle } =
await fetchVidLength(item.id.videoId);
return {
video_id: item.id.videoId,
video_title: item.snippet.title,
video_description: item.snippet.description,
video_tag: query, // 검색 키워드가 들어가게 된다.
video_length: videoLength, //videoLength 값 사용
video_likes: videoLikes,
channel_title: channelTitle, //채널명 추가
};
})
);
videoObject.push(...results); //video_object에 추가
//페이지 토큰 설정
let nextPageToken = data.nextPageToken;
//다음페이지 진행
if (nextPageToken) {
await fetchYoutube(query, iteration, videoObject, nextPageToken);
}
} catch (err) {
console.error('Error during API request:', err);
}
}
module.export = fetchYoutube;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment