Come ottenere un ID traccia da URL SoundCloud API

Come posso ottenere un ID traccia di una traccia URL SoundCloud API?

InformationsquelleAutor floCoder | 2014-10-10

 

4 Replies
  1. 39

    Non specificare una lingua la tua domanda, quindi sto solo andando a fornire un elevato livello di risposta.

    Utilizzare il resolve endpoint. Sto usando questo URL di esempio:

    https://soundcloud.com/msmrsounds/ms-mr-hurricane-chvrches-remix

    HTTP GET: https://api.soundcloud.com/resolve.json?url=https%3A%2F%2Fsoundcloud.com%2Fmsmrsounds%2Fms-mr-hurricane-chvrches-remix&client_id=[your_client_id]
    

    Risultante JSON:

    {
      "status": "302 - Found",
      "location": "https://api.soundcloud.com/tracks/147986343.json?client_id=[YOUR client_id]"
    }
    

    Che il valore numerico è il track_id. Si può fermare solo qui o colpire l’endpoint è appena tornato per ulteriori informazioni:

    {
      "kind": "track",
      "id": 90787841,
      "created_at": "2013/05/05 00:15:40 +0000",
      "user_id": 7853935,
      "duration": 188333,
      "commentable": true,
      "state": "finished",
      "original_content_size": 35031144,
      "last_modified": "2014/09/30 05:53:10 +0000",
      "sharing": "public",
      "tag_list": "MSMR CHVRCHES \"Secondhand Rapture\" Remix Hurricane",
      "permalink": "ms-mr-hurricane-chvrches-remix",
      "streamable": true,
      "embeddable_by": "all",
      "downloadable": true,
      "purchase_url": null,
      "label_id": null,
      "purchase_title": null,
      "genre": "",
      "title": "MS MR - Hurricane (CHVRCHES remix)",
      "description": "MS MR - Hurricane (CHVRCHES remix)\r\n\r\n\r\n",
      "label_name": "",
      "release": "",
      "track_type": "",
      "key_signature": "",
      "isrc": "",
      "video_url": null,
      "bpm": null,
      "release_year": null,
      "release_month": null,
      "release_day": null,
      "original_format": "wav",
      "license": "all-rights-reserved",
      "uri": "https://api.soundcloud.com/tracks/90787841",
      "user": {
        "id": 7853935,
        "kind": "user",
        "permalink": "msmrsounds",
        "username": "MSMR",
        "last_modified": "2014/08/04 09:03:56 +0000",
        "uri": "https://api.soundcloud.com/users/7853935",
        "permalink_url": "http://soundcloud.com/msmrsounds",
        "avatar_url": "https://i1.sndcdn.com/avatars-000037198343-2lptmy-large.jpg?86347b7"
      },
      "permalink_url": "http://soundcloud.com/msmrsounds/ms-mr-hurricane-chvrches-remix",
      "artwork_url": null,
      "waveform_url": "https://w1.sndcdn.com/56LCadzDEBZn_m.png",
      "stream_url": "https://api.soundcloud.com/tracks/90787841/stream",
      "download_url": "https://api.soundcloud.com/tracks/90787841/download",
      "playback_count": 1672227,
      "download_count": 18494,
      "favoritings_count": 20426,
      "comment_count": 464,
      "attachments_uri": "https://api.soundcloud.com/tracks/90787841/attachments",
      "policy": "ALLOW"
    }
    
    • grazie mille… BTW, è in PHP. Ho appena capito che utilizza json_decode() funzione.
    • Purtroppo, SoundCloud chiuso di registrazione per le loro API intorno a luglio 2017. Questo metodo è valido solo per coloro che si sono iscritti prima di allora.
  2. 4

    Quindi il mio finale codice simile a questo. Grazie ragazzi per l’aiuto per ottenere questo lavoro.

    include_once('../Services/Soundcloud.php'); 
    $client = new Services_Soundcloud('CLIENT_ID', 'CLIENT_SECRET');
    $track_url=$_POST['trackurl'];
    $track_url=str_replace("https://soundcloud.com/USERNAME/","",$track_url);
    $track = json_decode($client->get("tracks/".$track_url));    
    $track_id=$track->id;
    echo $track_id;
    
  3. 0

    Nel Frattempo Scrivendo Questa Risposta CLIENT_ID È Vicino

    A causa dell’elevata quantità di richieste che ha ricevuto di recente, ci sarà più API di elaborazione di applicazioni richieste in questo momento. Stiamo lavorando per ri-valutare il processo e renderlo più efficiente.

    Vedere Qui

    Ho Risolto Questo Problema Con Il Mio Laravel Progetto Come Questo

    prima ho Fatto Questa Funzione Per Ottenere Il Reale Contenuto

        public function getLessonUrl($lessonId = null)
    {
        //Get the SoundCloud URL
        $validUrl = 'https://soundcloud.com/al-hazme';
        $result = stripos($lessonId, $validUrl);
    
        if (strpos($lessonId, $validUrl) !== false) {
            //Get the JSON data details with embed code from SoundCloud oEmbed
            $getValues = @file_get_contents('http://soundcloud.com/oembed?format=js&url=' . $lessonId . '&color=%234274e3&auto_play=false&hide_related=true&show_comments=false&show_user=false&show_reposts=false&show_teaser=true&show_artwork');
    
            if ($getValues === false) {
                return 'حدث خطأ اثناء تحميل الدرس نرجو منك التأكد من اتصال الانترنيت لديك او حدث الصفحة';
            }
            //Clean the Json to decode
    
            $decodeiFrame = substr($getValues, 1, -2);
    
            //json decode to convert it as an array
    
            $jsonObj = json_decode($decodeiFrame);
    
            //echo $jsonObj->html;
    
            $lessons = str_replace('height="400"', 'height="90"', $jsonObj->html);
    
            return $lessons;
        } else {
            return 'لايوجد استماع لهذا الدرس';
        }
    
    }
    

    Poi Ho Fatto Un’Altra Funzione Di Merda L’Id Utilizzando Str Facciata Metodi

        use Illuminate\Support\Str;
        public function soundCloudId($url) {
    
    
        $do         = $lesson->getLessonUrl($lesson->url_link);
        $getTrickId = Str::after($do,'tracks%2F');
        $substr     = Str::substr($getTrickId,0,9);
    
         echo $substr = //367893857
         }
    

    Può Aiutare O Dare Indizio

Lascia un commento