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
<script src="bower_components/little-ytlib/bundle.min.js"></script>
<script>
var yt = new YTLib("MY_API_KEY");
</script>
If you want to use it with NodeJS, simply require it:
const YTLib = require('little-ytlib');
const yt = new YTLib("MY_API_KEY");
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
- YouTubeLibrary
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
| APIKey | API Key to access the youtube data api |
youTubeLibrary.getVideoInformation(videoId, [Callback]) ⇒ Promise.<(VideoSnippet|Array.<VideoSnippet>)>
Get the video information's of the videoId
Kind: instance method of YouTubeLibrary
| videoId | string | array |
| [Callback] | function |
youTubeLibrary.searchOnYouTube(SearchText, [type], [Order], [maxResults], [pages], [nextPageToken]) ⇒ Promise.<searchListResponse>
Search on youtube with the given parameters
Kind: instance method of YouTubeLibrary
| 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 | | |
youTubeLibrary.getPlaylistInformation(playlistId, [Callback]) ⇒ Promise.<PlaylistInformation>
Get all important information's of a playlist
Kind: instance method of YouTubeLibrary
| playlistId | string |
| [Callback] | function |
youTubeLibrary.getPlaylist(playlistId, [Callback]) ⇒ Promise
Get all information's of a playlist including the videos. The videos are resolved to youtube#video
Kind: instance method of YouTubeLibrary
| playlistId | string |
| [Callback] | function |
youTubeLibrary.getPlaylistVideos(playlistId, [Callback]) ⇒ Promise.<Array>
Get only the resolved videos of a playlist. Videos are in the format youtube#video
Kind: instance method of YouTubeLibrary
| playlistId | string |
| [Callback] | function |
youTubeLibrary.getChannelID(forUsername, [Callback]) ⇒ Promise.<String>
Get the channelId of an username
Kind: instance method of YouTubeLibrary
| forUsername | string |
| [Callback] | function |
youTubeLibrary.getChannelPlaylists(channelId, [Callback]) ⇒ Promise.<Array.<PlayListWithVideos>>
Get all playlist's of a channel. The videos are in the format youtube#video
Kind: instance method of YouTubeLibrary
| channelId | string |
| [Callback] | function |
youTubeLibrary.getChannelPlaylistsByUsername(Username, [Callback]) ⇒ Promise.<Array.<PlayListWithVideos>>
Same as getChannelPlaylists() but you can use the channel username instead of the channel id
Kind: instance method of YouTubeLibrary
| Username | string |
| [Callback] | function |
youTubeLibrary.getChannel(channelID, [Callback]) ⇒ Promise.<Object>
Get channel information's
Kind: instance method of YouTubeLibrary
| channelID | string |
| [Callback] | function |
youTubeLibrary.getChannelByUsername(Username, [Callback]) ⇒ Promise.<Object>
Same as getChannel() but you can use the channel username instead of the channel id
Kind: instance method of YouTubeLibrary
| Username | |
| [Callback] | function |
YouTubeVideoResource : Object
Kind: global typedef
Properties
VideoSnippet : Object
Kind: global typedef
Properties
| 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 | |
VideoStatistics : Object
Kind: global typedef
Properties
| 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 | |
YouTubePageInfo : Object
Kind: global typedef
Properties
| totalResults | int |
| resultsPerPage | int |
searchListResponse : Object
Kind: global typedef
Properties
| kind | string |
| etag | string |
| nextPageToken | string |
| regionCode | string |
| pageInfo | YouTubePageInfo |
| items | Array |
PlaylistInformation : Object
Kind: global typedef
Properties
PlaylistSnippet : Object
Kind: global typedef
Properties
| 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 | |
PlaylistContentDetails : Object
Kind: global typedef
Properties
| itemCount | int | The count how much items the playlist contains |
Video : Object
Kind: global typedef
Properties
| kind | string |
| etag | string |
| id | string |
| snippet | Object |
| contentDetails | Object |
| statistics | Object |
PlayListWithVideos : Object
Kind: global typedef
Properties
| kind | string |
| etag | string |
| id | string |
| snippet | Object |
| contentDetails | Object |
| videos | Array.<Video> |