1.0.3 • Published 4 years ago
niconico-apis v1.0.3
niconico-apis
Promise based Niconico API Wrapper.
Installing
Using NPM:
npm install niconico-apis
Usage
import { NiconicoAPI } from 'niconico-apis'
const nicoapi = new NiconicoAPI()
Example
Fetching uploads from a user. (Default is 1st page / max: 30 videos)
const videos = await nicoapi.uploadsByUser(17190021, { sort: 'views' })
console.log(videos.length) // 30
console.log(videos[0].title) // [東方自作アレンジ] 514 [原曲:ハルトマンの妖怪少女]
Available methods:
- videoInfo (videoID: number): Promise< VideoInfo1>
- videoInfo2 (videoID: number): Promise< VideoInfo2>
- relatedVideos (videoID: number): Promise<RelatedVideo[]>
- mylistsByUser (userID: number): Promise<Mylist[]>
- videoIframe (videoID: number): Promise< string>
- newArrivals (options?: Options): Promise<RSS2Video[]>
- recentCommented (options?: Options): Promise<RSS2Video[]>
- rankingVideos (genre: Genre, options?: RankingOptions): Promise<RSS2Video[]>
- niconicoNewsPosts (category: NiconicoNewsCategory, options?: Options): Promise<RSS2NiconicoNews[]>
- mylistVideos (mylistID: number, options?: Options2): Promise<RSS2Video[]>
- uploadsByUser (userID: number, options?: UploadsOptions): Promise<RSS2Video[]>
- search: NiconicoSearchAPI
Search API
Usage
import { NiconicoSearchAPI } from 'niconico-apis'
const search = new NiconicoSearchAPI()
OR
import { NiconicoAPI } from 'niconico-apis'
const search = new NiconicoAPI.search()
Methods
video(params: NiconicoSearchAPIParams)
live(params: NiconicoSearchAPIParams)
Params:
q
: string (Required)targets
: Array or string (Required)fields
: Array or stringfilters
: stringjsonFilters
: string_sort
: object or string (Required)_offset
: number_limit
: number_context
: string
Example
Search touhou remixes
search
.video({
q: '東方アレンジ',
targets: ['title', 'tags', 'description'],
fields: ['title', 'userId', 'viewCounter'],
_sort: {
field: 'viewCounter',
order: '-', // (same as 'desc')
},
})
.then(result => console.log(result))
// or you can do in this way and get the same results but you can't get typescript typings.
search
.video({
q: '東方アレンジ',
targets: 'title,tags,description',
fields: 'title,userId,viewCounter',
_sort: '-viewCounter',
})
.then(result => console.log(result))
You can also search things using method chain by calling .service()
service(serviceName: 'video' | 'live')
search
.service('video')
.q('東方アレンジ')
.targets(['tagsExact'])
.fields(['title', 'userId'])
.sort('-viewCounter')
.get()
.then(result => console.log(result))