mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2024-11-13 02:14:32 +01:00
72 lines
2.3 KiB
TypeScript
72 lines
2.3 KiB
TypeScript
|
/*
|
||
|
YouTubeAPI.videos.list({
|
||
|
part: "snippet",
|
||
|
id: videoID
|
||
|
}, function (err, data) {});
|
||
|
*/
|
||
|
|
||
|
// https://developers.google.com/youtube/v3/docs/videos
|
||
|
|
||
|
export const YouTubeAPI = {
|
||
|
listVideos: (id: string, callback: (ytErr: any, data: any) => void) => {
|
||
|
YouTubeAPI.videos.list({
|
||
|
id: id,
|
||
|
}, callback);
|
||
|
},
|
||
|
videos: {
|
||
|
list: (obj: { part: string; id: any } | { id: string }, callback: (ytErr: any, data: any) => void) => {
|
||
|
if (obj.id === "knownWrongID") {
|
||
|
callback(undefined, {
|
||
|
pageInfo: {
|
||
|
totalResults: 0,
|
||
|
},
|
||
|
items: [],
|
||
|
});
|
||
|
}
|
||
|
if (obj.id === "noDuration") {
|
||
|
callback(undefined, {
|
||
|
pageInfo: {
|
||
|
totalResults: 1,
|
||
|
},
|
||
|
items: [
|
||
|
{
|
||
|
contentDetails: {
|
||
|
duration: "PT0S",
|
||
|
},
|
||
|
snippet: {
|
||
|
title: "Example Title",
|
||
|
thumbnails: {
|
||
|
maxres: {
|
||
|
url: "https://sponsor.ajay.app/LogoSponsorBlockSimple256px.png",
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
});
|
||
|
} else {
|
||
|
callback(undefined, {
|
||
|
pageInfo: {
|
||
|
totalResults: 1,
|
||
|
},
|
||
|
items: [
|
||
|
{
|
||
|
contentDetails: {
|
||
|
duration: "PT1H23M30S",
|
||
|
},
|
||
|
snippet: {
|
||
|
title: "Example Title",
|
||
|
thumbnails: {
|
||
|
maxres: {
|
||
|
url: "https://sponsor.ajay.app/LogoSponsorBlockSimple256px.png",
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
},
|
||
|
};
|