Reputation: 65
I would like to add soundcloud widget to my app. for that, I need to send parameters on the iframe src. The problem is that soundcloud demands for TrackID rather than the URL address of the track, and my users won't be able to find this trackID on Soundcloud's UI. How can I resolve TrackID by track URL address?
If it's possible only by using the API - then how can I register as a new app? It seems impossible now. Also what API call would I need to make to resolve this info?
Thank you.
Upvotes: 2
Views: 3100
Reputation: 241
Like you I needed to fetch some track informations from a soundcloud url, however the use of the API can't be an option from my side (API closed since 2017). This is what I came up with to get the track ID.
<?php
// url test example
$url = "https://soundcloud.com/the-bugle/bugle-179-playas-gon-play";
// this link give some infos of the track
$infos_music_soundcloud = 'https://soundcloud.com/oembed?url='.urlencode($url).'&format=json';
$page_content = file_get_contents($infos_music_soundcloud);
if(!empty($page_content)){
$content = json_decode($page_content);
// now, the track ID is in the html iframe code. Lets get it.
$matches = array();
preg_match('/tracks%2F(.*?)&/s', $content->{'html'}, $matches);
echo "the track id is ".$matches[1];
}else{
echo "the track don't seems to exists. Please verify the link";
}
?>
You can get also track title, description, thumbnail, author name/url... Hope it helps ;)
edit - if the track is private, just make sure you give the private link (ie. with something like "/s-clUrZ" at the end)
Upvotes: 1
Reputation: 672
Unfortunately, the SoundCloud API is indefinitely not accepting new registrations. Like the comment above, an easy alternative solution is if you use this URL, it will provide you with a wide/short player:
https://w.soundcloud.com/player/?url=
+ URL of track
Example: https://w.soundcloud.com/player/?url=https://soundcloud.com/chrisbjerken/you-still-have-my-heart
This works for both a single track or a playlist.
Upvotes: 4
Reputation: 718
Soundcloud has an API that can be invoked in order to resolve an URL.
If you have a valid client_id
you can perform a GET request setting the url
and your client_id
as parameters.
https://api.soundcloud.com/resolve.json?url=https://soundcloud.com/tomer-maizner/forever-tel-aviv-pride-2018-anthems-mixed-by-tomer-maizner&client_id=CLIENT_ID
This will give you this response:
{
kind: "track",
id: 460976748,
created_at: "2018/06/20 16:25:14 +0000",
user_id: 8504856,
duration: 3570385,
commentable: true,
state: "finished",
original_content_size: 142800123,
last_modified: "2018/06/23 15:26:59 +0000",
sharing: "public",
tag_list: ""forever tel aviv" circuit "we party" mix pride "tel aviv"",
permalink: "forever-tel-aviv-pride-2018-anthems-mixed-by-tomer-maizner",
streamable: true,
embeddable_by: "all",
purchase_url: null,
purchase_title: null,
label_id: null,
genre: "Electronic",
title: "Forever Tel-Aviv - Pride 2018 Anthems (Mixed By Tomer Maizner)",
description: "The best of the best from the pride weekend in Tel-Aviv including tracks from all Forever Tel-Aviv superstars . Sagi Kariv / Tomer Maizner / Yinon Yahel / Tommer Mizrahi / Mor Avrahami / Elad Navon / Micky Friedman Enjoy!!! Tracklist : 1. Tomer Maizner Feat. Madame Meyhem - Unbreak My Heart 2018 2. N-Trance - Set You Free (Sagi Kariv remix) 3. Maître Gims – Mi Gna (Tommer Mizrahi Remix) 4. Micky Friedman - Eshebo feat Hila Ben Saadon (Original Mix) 5. Edson Pride - Freedom (Tomer Maizner Stanga Mash) 6. Netta - Toy (Sagi Kariv extended remix) 7. Arian Grande - No Tears Left To Cry Remix (DJ Aron Remix) 8. Steven Redant - Sunshine On My Shoulders (Tommer Mizrahi Remix) 9. Mor Avrahami - Kumei (Original Mix) 10 . Sissy That B.Y.O.B (Tomer Maizner Mashup) 11. Louie Vega - Diamond Life (Elad Navon & Niv Aroya Remix) 12. Hanna Hais - Je Ne Veux Plus Etre Ta Reine (Ranz Remix) 13. I Am Free (Yinon Yahel Remix)",
label_name: null,
release: null,
track_type: null,
key_signature: null,
isrc: null,
video_url: null,
bpm: null,
release_year: null,
release_month: null,
release_day: null,
original_format: "mp3",
license: "all-rights-reserved",
uri: "https://api.soundcloud.com/tracks/460976748",
user: {
id: 8504856,
kind: "user",
permalink: "tomer-maizner",
username: "TOMER MAIZNER",
last_modified: "2018/06/20 17:34:39 +0000",
uri: "https://api.soundcloud.com/users/8504856",
permalink_url: "http://soundcloud.com/tomer-maizner",
avatar_url: "https://i1.sndcdn.com/avatars-000234677748-voqr8o-large.jpg"
},
permalink_url: "https://soundcloud.com/tomer-maizner/forever-tel-aviv-pride-2018-anthems-mixed-by-tomer-maizner",
artwork_url: "https://i1.sndcdn.com/artworks-000363076815-gwll9g-large.jpg",
stream_url: "https://api.soundcloud.com/tracks/460976748/stream",
download_url: "https://api.soundcloud.com/tracks/460976748/download",
playback_count: 8696,
download_count: 0,
favoritings_count: 792,
reposts_count: 62,
comment_count: 5,
downloadable: false,
waveform_url: "https://w1.sndcdn.com/WoEUY48eF4tR_m.png",
attachments_uri: "https://api.soundcloud.com/tracks/460976748/attachments"
}
Upvotes: 0