bugfix
This commit is contained in:
parent
1a8b81cb53
commit
f1bbf852e2
@ -10,7 +10,7 @@ export async function getVideoById(access_token, video_id) {
|
||||
access_token,
|
||||
id: video_id,
|
||||
part: "snippet"
|
||||
}).then(x=>x.data.items[0].snippet);
|
||||
}).then(x => x.data.items[0].snippet);
|
||||
|
||||
return video;
|
||||
}
|
||||
@ -27,7 +27,7 @@ export async function getVideoCaptions(access_token, video_id) {
|
||||
access_token,
|
||||
videoId: video_id,
|
||||
part: "id,snippet"
|
||||
}).then(x=>x.data.items);
|
||||
}).then(x => x.data.items);
|
||||
|
||||
return captions;
|
||||
}
|
||||
@ -48,7 +48,7 @@ export async function getCaptionText(access_token, caption_id) {
|
||||
headers: {
|
||||
"Authorization": "Bearer " + access_token
|
||||
}
|
||||
}).then(res=>res.data).then(x=>x.text());
|
||||
}).then(res => res.data).then(x => x.text());
|
||||
|
||||
return caption_text;
|
||||
}
|
||||
@ -57,10 +57,10 @@ export function parseTextFromCaptions(caption_text) {
|
||||
let text_content = "";
|
||||
const captionEntries = caption_text.split(/\n\n/);
|
||||
for (const entry of captionEntries) {
|
||||
const lines = entry.trim().split('\n');
|
||||
if (lines.length >= 2 && !lines[1].includes('-->')) {
|
||||
text_content += lines.slice(1).join(' ').trim() + ' ';
|
||||
}
|
||||
const lines = entry.trim().split('\n');
|
||||
if (lines.length >= 2 && !lines[1].includes('-->')) {
|
||||
text_content += lines.slice(1).join(' ').trim() + ' ';
|
||||
}
|
||||
}
|
||||
|
||||
return text_content
|
||||
@ -74,14 +74,21 @@ export function parseTextFromCaptions(caption_text) {
|
||||
* @returns {Promise<import("googleapis").youtube_v3.Schema$PlaylistItem[]>}
|
||||
*/
|
||||
export async function getVideosFromPlaylist(access_token, playlist_id) {
|
||||
const videos = await service.playlistItems.list({
|
||||
access_token,
|
||||
part: "id,snippet",
|
||||
playlistId: playlist_id,
|
||||
maxResults: 10
|
||||
}).then(res => res);
|
||||
if(!access_token) return [];
|
||||
let videos;
|
||||
try {
|
||||
videos = await service.playlistItems.list({
|
||||
access_token,
|
||||
part: "id,snippet",
|
||||
playlistId: playlist_id,
|
||||
maxResults: 10
|
||||
}).then(res => res)
|
||||
} catch (e) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if(videos.status > 299 || videos.status < 200) {
|
||||
console.log(videos.status);
|
||||
if (videos.status > 299 || videos.status < 200) {
|
||||
return [];
|
||||
}
|
||||
|
||||
@ -102,7 +109,7 @@ export async function getChannelInfo(access_token) {
|
||||
maxResults: 1
|
||||
}).then(res => res);
|
||||
|
||||
if(!channel.data.items[0]) {
|
||||
if (!channel.data.items[0]) {
|
||||
throw new Error("no_channel");
|
||||
}
|
||||
return channel.data.items[0];
|
||||
@ -141,9 +148,11 @@ export async function getAccessToken(fastify, request) {
|
||||
// const [cachedToken] = await db.select().from(sessions).where(eq(sessions.id, request.session.id));
|
||||
let access_token = request.session.access_token;
|
||||
|
||||
if((new Date().getTime() + 10) > request.session.expires_at) {
|
||||
if ((new Date().getTime() + 10) > request.session.expires_at) {
|
||||
/** @type {import('@fastify/oauth2').Token} */
|
||||
const {token} = await fastify.googleOAuth2.getNewAccessTokenUsingRefreshToken(request.session);
|
||||
const { token } = await fastify.googleOAuth2.getNewAccessTokenUsingRefreshToken(request.session).catch(e => ({token: null}));
|
||||
|
||||
if(!token) return ""
|
||||
|
||||
access_token = token.access_token;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user