이 스크립트는 직접 설치해서 쓰는 게 아닙니다. 다른 스크립트가 메타 명령 // @require https://update.greasyfork.org/scripts/474021/1241708/MyFreeMP3%20API.js
(으)로 포함하여 쓰는 라이브러리입니다.
Music API for MyFreeMP3 and MyFreeMP3(old)
Requirements:
//@grant GM_xmlhttpRequest
//@connect api.liumingye.cn
//@connect api2.liumingye.cn
Usage:
This method will request new or old api and provides a standardized callback argument object. Recommended.
Mfapi.search({
type: 'YQD', // Search songs in "M" then use "YQM", search songs in "B" then use "YQB", search songs in "D" then use "YQD", etc
text: 'your search params', // Song name, artist names, etc
page: 1, // Default: 1
callback: function(json) { console.log(json); },
onerror: function(err) { console.log(err); }, // Default: function() {}
api: 'auto' // Which api to use, 'new','old' or 'auto' for automatically choose, Default: 'auto'
}, 3);
// The second argument is retry count, meaning how many retries we'll take before onerror got called.
// This number will be doubled if your api === 'auto' because we have to try both new and old apis if one of them is unavailable.
// Default: 3
or you can request old or new api directly to access raw api return value.
Mfapi.new.search({ type, text, page, callback, onerror });
Mfapi.old.search({ type, text, page, callback, onerror });
The apis' token encoders are also provided as Mfapi.new.encode
and Mfapi.old.encode
, and there's also Mfapi.new.link
and Mfapi.old.link
methods which accepts a song object and a quality number and returns its download url.
Try it out yourself and look into the callback values!