Giter Club home page Giter Club logo

musicapi's Introduction

Centralized Node.js API for Netease, QQ, Xiami music

travis prettier

This SDK provide simple API interface based on Promise, netease API is get from github, qq api is get from y.qq.com and xiami api is get from xiami Mac App. Please make no commerical use of this project.

npm install music-api --save

Basic usage

const musicAPI = require('music-api');

musicAPI.searchSong('netease', {
  key: '陈粒',
  limit: 10,
  page: 1,
})
  .then(res => console.log(res))
  .catch(err => console.log(err))

Run local

git clone https://github.com/LIU9293/musicAPI.git
cd musicAPI
npm install
npm start

// open another terminal
curl http://localhost:8080/api/search/song/all?key=taylor&limit=5&page=1

Usage

  • search songs.
  • search playlist.(xiami collects)
  • search albums.
  • get song play url.
  • get playlist detail.
  • get album detail.
  • get suggestions albums.
  • get artists' detail.
  • raw data / converted data available.

API

musicapi's People

Contributors

kslr avatar liu9293 avatar magicdawn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

musicapi's Issues

qq音乐接口出现问题

qq音乐接口,当通过一个歌曲的id来获取它的链接的时候,后台返回{"success":false,"message":{}}得不到音乐链接。
虾米音乐通过一个歌曲的id来获取它的链接,也是这种情况。不过虾米的接口在搜索获取的歌的列表的时候,每一个对象有一个file属性保存着音乐的链接。可以保存下来使用。但qq则没有。

MP3的URL

要拿到mp3的URL一定要两次请求吗?能否合并成一次?

"Cannot read property 'map' of undefined" when running the code from "Basic Usage"

Run the sample code from "Basic Usage", hit the following error:

{ success: false,
  message:
   TypeError: Cannot read property 'map' of undefined
       at NeteaseRequest.then.res (E:\Personal\PersonalWork\RaspberryPiMusicPlayer\node_modules\music-api\src\netease.js:48:40)
       at process._tickCallback (internal/process/next_tick.js:103:7) }

如何单独书写 qq源查询?

你好, 我将您的qq源单独拿出来使用,没有经过总的MusicAPI进行查询

QQMusic.searchSong(query)
  .then(data => data.songList.map(x => ({
    icon: x.album.coverBig,
    title: x.name,
    subtitle: x.artists[0].name,
    track: {
        title: x.name,
        artist: x.artists[0].name,
        album: x.album.name,
        albumArt: x.album.coverBig,
        audio: QQMusic.getSong(x.id).then(song => song.url) // 这里
    }
  })

audio 如下

Promise {[[PromiseStatus]]: "resolved", 
        [[PromiseValue]]: "http://dl.stream.qqmusic.qq.com/M8000046HRBd0FvKLm…C380C8F140044403EDC0124&guid=489780640&fromtag=30"
        }

大致代码如上, 但是最后 track.audio的值为一个promise
我该如何取出其中的值? 或者说 如何修改qq.js文件??

qq无法显示韩文

从虾米和网易获取的结果都能正常显示韩文,QQ音乐却不行。这应该是QQ的问题,不知道有没有办法解析那些数据(比如 노라조)。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.