Nils little youtube library
For nodejs and every happy browser
The only thing you need is a google api key :) (https://console.developers.google.com/) which is enabled for the YouTube Data API
FAQ
How can I install it ?
For the browser you should use bower (https://bower.io):
bower install little-ytlib --save
In NodeJS yarn (https://yarnpkg.com/lang/en/) or npm (... https://nodejs.org/en/):
Yarn: yarn add little-ytlib
NPM: npm install little-ytlib --save
How can I use it now ?
If you want to use it in your browser, you need to include the bundle.min.js
If you want to use it with NodeJS, simply require it:
const YTLib = ;const yt = "MY_API_KEY";// Now you can use it
How do I known which methods I can use ?
I think I doucmented the library very good with JSDoc. You can simply look in the source file on this repository (https://raw.githubusercontent.com/TheNoim/YouTubeLibrary/master/YouTubeLibrary.js)
Documentation
Classes
Typedefs
- YouTubeVideoResource :
Object
- VideoSnippet :
Object
- VideoStatistics :
Object
- YouTubePageInfo :
Object
- searchListResponse :
Object
- PlaylistInformation :
Object
- PlaylistSnippet :
Object
- PlaylistContentDetails :
Object
- Video :
Object
- PlayListWithVideos :
Object
YouTubeLibrary
Kind: global class
Author: Nils Bergmann nilsbergmann@noim.io
- YouTubeLibrary
- new YouTubeLibrary(APIKey)
- .getVideoInformation(videoId, [Callback]) ⇒
Promise.<(VideoSnippet|Array.<VideoSnippet>)>
- .searchOnYouTube(SearchText, [type], [Order], [maxResults], [pages], [nextPageToken]) ⇒
Promise.<searchListResponse>
- .getPlaylistInformation(playlistId, [Callback]) ⇒
Promise.<PlaylistInformation>
- .getPlaylist(playlistId, [Callback]) ⇒
Promise
- .getPlaylistVideos(playlistId, [Callback]) ⇒
Promise.<Array>
- .getChannelID(forUsername, [Callback]) ⇒
Promise.<String>
- .getChannelPlaylists(channelId, [Callback]) ⇒
Promise.<Array.<PlayListWithVideos>>
- .getChannelPlaylistsByUsername(Username, [Callback]) ⇒
Promise.<Array.<PlayListWithVideos>>
- .getChannel(channelID, [Callback]) ⇒
Promise.<Object>
- .getChannelByUsername(Username, [Callback]) ⇒
Promise.<Object>
new YouTubeLibrary(APIKey)
Nils little youtube library
Param | Description |
---|---|
APIKey | API Key to access the youtube data api |
Promise.<(VideoSnippet|Array.<VideoSnippet>)>
youTubeLibrary.getVideoInformation(videoId, [Callback]) ⇒ Get the video information's of the videoId
Kind: instance method of YouTubeLibrary
Param | Type |
---|---|
videoId | string | array |
[Callback] | function |
Promise.<searchListResponse>
youTubeLibrary.searchOnYouTube(SearchText, [type], [Order], [maxResults], [pages], [nextPageToken]) ⇒ Search on youtube with the given parameters
Kind: instance method of YouTubeLibrary
Param | Type | Default | Description |
---|---|---|---|
SearchText | string |
||
[type] | string |
"video,channel,playlist" |
|
[Order] | string |
"relevance" |
|
[maxResults] | int |
20 |
Max result per page |
[pages] | int |
10 |
how many pages to query |
[nextPageToken] | string |
Promise.<PlaylistInformation>
youTubeLibrary.getPlaylistInformation(playlistId, [Callback]) ⇒ Get all important information's of a playlist
Kind: instance method of YouTubeLibrary
Param | Type |
---|---|
playlistId | string |
[Callback] | function |
Promise
youTubeLibrary.getPlaylist(playlistId, [Callback]) ⇒ Get all information's of a playlist including the videos. The videos are resolved to youtube#video
Kind: instance method of YouTubeLibrary
Param | Type |
---|---|
playlistId | string |
[Callback] | function |
Promise.<Array>
youTubeLibrary.getPlaylistVideos(playlistId, [Callback]) ⇒ Get only the resolved videos of a playlist. Videos are in the format youtube#video
Kind: instance method of YouTubeLibrary
Param | Type |
---|---|
playlistId | string |
[Callback] | function |
Promise.<String>
youTubeLibrary.getChannelID(forUsername, [Callback]) ⇒ Get the channelId of an username
Kind: instance method of YouTubeLibrary
Param | Type |
---|---|
forUsername | string |
[Callback] | function |
Promise.<Array.<PlayListWithVideos>>
youTubeLibrary.getChannelPlaylists(channelId, [Callback]) ⇒ Get all playlist's of a channel. The videos are in the format youtube#video
Kind: instance method of YouTubeLibrary
Param | Type |
---|---|
channelId | string |
[Callback] | function |
Promise.<Array.<PlayListWithVideos>>
youTubeLibrary.getChannelPlaylistsByUsername(Username, [Callback]) ⇒ Same as getChannelPlaylists() but you can use the channel username instead of the channel id
Kind: instance method of YouTubeLibrary
Param | Type |
---|---|
Username | string |
[Callback] | function |
Promise.<Object>
youTubeLibrary.getChannel(channelID, [Callback]) ⇒ Get channel information's
Kind: instance method of YouTubeLibrary
Param | Type |
---|---|
channelID | string |
[Callback] | function |
Promise.<Object>
youTubeLibrary.getChannelByUsername(Username, [Callback]) ⇒ Same as getChannel() but you can use the channel username instead of the channel id
Kind: instance method of YouTubeLibrary
Param | Type |
---|---|
Username | |
[Callback] | function |
Object
YouTubeVideoResource : Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
kind | string |
Type (youtube#video) |
etag | string |
|
id | string |
VideoId |
snippet | VideoSnippet |
|
statistics | VideoStatistics |
Object
VideoSnippet : Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
publishedAt | string |
Date in ISO 8601 format |
channelId | string |
|
title | string |
Video title |
description | string |
|
thumbnails | Object |
|
channelTitle | string |
The displayname of the channel which published the video |
tags | Array.<string> |
List of tags for the video |
categoryId | string |
https://developers.google.com/youtube/v3/docs/videoCategories/list |
liveBroadcastContent | string |
|
defaultLanguage | string |
|
localized | Object |
|
defaultAudioLanguage | string |
Object
VideoStatistics : Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
viewCount | int |
|
likeCount | int |
|
dislikeCount | int |
|
favoriteCount | int |
This property has been deprecated. The deprecation is effective as of August 28, 2015. The property's value is now always set to 0. |
commentCount | int |
Object
YouTubePageInfo : Kind: global typedef
Properties
Name | Type |
---|---|
totalResults | int |
resultsPerPage | int |
Object
searchListResponse : Kind: global typedef
Properties
Name | Type |
---|---|
kind | string |
etag | string |
nextPageToken | string |
regionCode | string |
pageInfo | YouTubePageInfo |
items | Array |
Object
PlaylistInformation : Kind: global typedef
Properties
Name | Type |
---|---|
kind | string |
etag | string |
id | id |
snippet | PlaylistSnippet |
contentDetails | PlaylistContentDetails |
Object
PlaylistSnippet : Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
publishedAt | string |
Date in ISO 8601 format |
channelId | string |
|
title | string |
|
description | string |
|
thumbnails | Object |
|
channelTitle | string |
The displayname of the channel which published the playlist |
tags | Array.<string> |
List of tags for the playlist |
defaultLanguage | string |
|
localized | Object |
Object
PlaylistContentDetails : Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
itemCount | int |
The count how much items the playlist contains |
Object
Video : Kind: global typedef
Properties
Name | Type |
---|---|
kind | string |
etag | string |
id | string |
snippet | Object |
contentDetails | Object |
statistics | Object |
Object
PlayListWithVideos : Kind: global typedef
Properties
Name | Type |
---|---|
kind | string |
etag | string |
id | string |
snippet | Object |
contentDetails | Object |
videos | Array.<Video> |