Skip to content
This repository has been archived by the owner on Jul 6, 2024. It is now read-only.

Commit

Permalink
added - get song detail from jiosaavn link
Browse files Browse the repository at this point in the history
  • Loading branch information
Tuhin Kanti Pal committed Sep 24, 2020
1 parent 8f92ee3 commit b99a5d2
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 2 deletions.
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,23 @@ http://localhost:8080/album?id=17488163
*<tt>media_url</tt> Object Contains Download Link.*<br>
*Replace 160 with 320 or 96 in <tt>media_url</tt> to get different Qualities.*

**6. Get Song from Jiosaavn Link (Method - Get):**

***Request:***

```html
http://[Your-Url]/link?query={Jiosaavn-Link}

//example
http://localhost:8080/link?query=https://www.jiosaavn.com/song/makhna/GAcfdEEJfHY
```

***Result:***

*Same as Method 2*



<br><br>
### Deploy Your Own:<br>

Expand Down
50 changes: 48 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
const express = require('express');
const request = require('request');
const app = express()
const port = process.env.PORT || 8080

//base urls
const searchbase = "https://www.jiosaavn.com/api.php?__call=autocomplete.get&_format=json&_marker=0&cc=in&includeMetaTags=1&query=";
Expand Down Expand Up @@ -165,6 +164,53 @@ app.get('/album', (req, res) => {
res.header('Open-Source', 'https://github.com/cachecleanerjeet/jiosaavnapi');
})

app.listen(port, () => {
// getting song from Jiosaavn link
app.get('/link', (req, res) => {
let query = req.query.query;

var getsid = {
'method': 'GET',
'url': query
};
request(getsid, function(error, response) {
if (error) {
res.send(`{"result": "false"}`);
} else {
if (response.body.split('"song":{"type":"')[1] == undefined) {
res.send(`{"result": "false"}`);
} else {
try {
var sid = response.body.split('"song":{"type":"')[1].split('","image":')[0].split('"')[8];
} catch (err) {
var sid = response.body.split('"params":{"pid":"')[1].split('"')[0];
}
var options = {
'method': 'GET',
'url': (songbase) + (sid)
};
request(options, function(error, response) {
if (error) throw new Error(error);
var songraw = (response.body);
var replaceid = songraw.replace(sid, 'tuhin');
var replacemediaurltxt = replaceid.replace('media_preview_url', 'media_url');
var replacemediaurl = replacemediaurltxt.replace('preview.saavncdn.com', 'aac.saavncdn.com');
var replaceqs = replacemediaurl.replace('_96_p', '_160');
var imgq = replaceqs.replace('150x150', '500x500');
var result = JSON.parse(imgq);
var songresult = result.tuhin;
var output = JSON.stringify(songresult);
res.send(output);
})
}
}
});
res.status(200);
res.header('Access-Control-Allow-Origin', '*');
res.header('Content-Type', 'application/json');
res.header('Cache-Control', 'no-cache, no-store, must-revalidate');
res.header('Open-Source', 'https://github.com/cachecleanerjeet/jiosaavnapi');
})

app.listen(process.env.PORT || 8080, () => {
console.log('Listening')
})

0 comments on commit b99a5d2

Please sign in to comment.