1.0.3 • Published 4 years ago

niconico-apis v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

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 string
  • filters: string
  • jsonFilters: 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))

Details about API here

License

MIT

1.0.2

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago