Rumah >hujung hadapan web >tutorial js >Menggunakan API SoundCloud dengan SDK JavaScript
Apakah perbezaan antara API dan SDK? Pada asasnya, API adalah koleksi URL yang menyediakan akses kepada data dari pelayan SoundCloud, dan SDK adalah perpustakaan pra-ditulis (atau klien) untuk menanyakan API. Untuk mengetahui lebih lanjut lihat perbincangan ini.
Dalam tutorial ini, kami akan belajar bagaimana untuk mengakses API SoundCloud dan bagaimana untuk memudahkan proses menggunakan SDK. Kami akan berjalan walaupun menubuhkan SDK dan kemudian menulis JavaScript untuk mendapatkan data, bermain audio dan banyak lagi dari SoundCloud.
Bermula
Untuk memulakan pertanyaan API SoundCloud menggunakan JavaScript, kita perlu memuat turun SDK JavaScript yang disediakan oleh SoundCloud. Seperti yang dinyatakan sebelum ini, terdapat dua versi SDK yang berbeza.
Perbezaan utama di antara mereka adalah bagaimana mereka mengembalikan data apabila permintaan tak segerak dibuat kepada API. Versi terkini mengembalikan janji, sementara yang lain memerlukan fungsi panggil balik sebagai parameter.
Satu masalah yang saya perhatikan, ialah dengan versi SDK yang digunakan oleh dokumentasi, nampaknya ada masalah dengan fungsi pengguna login, kerana tetingkap pop-up tidak ditutup secara automatik.
Jadi, demi kesederhanaan, dan kerana ia lebih stabil, kita akan menggunakan versi lama dalam contoh -contoh sepanjang tutorial ini. Versi ini memerlukan fungsi panggil balik untuk permintaan tak segerak.
Kami akan membuat halaman HTML asas yang akan berfungsi sebagai laman utama kami. Kami juga akan memasukkan SDK di sini, jadi kami boleh menggunakan fungsinya.
<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><title</span>></span>Include SDK - Using SoundCloud API<span><span></title</span>></span> </span> <span><span><span><script</span> src<span>="//connect.soundcloud.com/sdk.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span><span><span></body</span>></span> </span><span><span><span></html</span>></span> </span>
Perhatikan bahawa kami telah memasukkan SDK di halaman kami terus dari pelayan Soundcloud. Anda juga boleh memuat turun SDK dan merujuknya seperti:
<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span> </span>
untuk menguji jika SDK dimuatkan di laman web anda dengan betul:
Daftar aplikasi SoundCloud
Nota: Kami boleh melangkau langkah ini, jika kami tidak akan menggunakan ciri pengguna login di laman web kami. Ia akan dijelaskan di bahagian seterusnya.
Nota: Anda tidak perlu membuat akaun berasingan untuk tujuan ini. Anda boleh menggunakan akaun yang sama yang anda gunakan untuk tujuan peribadi.
Daftar aplikasi baru butang.
Selepas kami berjaya mendaftar, kami akan diarahkan ke halaman tetapan aplikasi kami yang baru dibuat. Di sana kami akan menemui id klien aplikasi kami , yang akan digunakan untuk memberi kuasa kepada permintaan kami. Kami boleh meninggalkan laman web dan panggil balik medan buat masa ini. Kami akan sampai ke sana kemudian.
Dengan "memulakan klien", kami bermaksud menjadikan pelanggan bersedia untuk menukar data antara dirinya dan SoundCloud API. Kami boleh melakukannya dalam dokumen HTML asas kami, yang kami buat sebelum ini, atau dalam fail .js luaran.
sintaks JavaScript untuk berbuat demikian ialah:
<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><title</span>></span>Include SDK - Using SoundCloud API<span><span></title</span>></span> </span> <span><span><span><script</span> src<span>="//connect.soundcloud.com/sdk.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span><span><span></body</span>></span> </span><span><span><span></html</span>></span> </span>
mari kita memecahkannya:
Sekarang, selepas permulaan, kami bersedia untuk menanyakan API SoundCloud. Mari kita lihat beberapa contoh apa yang boleh kita lakukan.
Jika kita membuka konsol penyemak imbas dan jenis sc., Senarai kaedah yang berkaitan dengan objek SC akan muncul. Sc.get (Uri, callback) adalah salah satu daripada mereka, yang digunakan untuk membuat permintaan untuk API.
Untuk mendapatkan senarai trek rawak, kita boleh menggunakan sc.get () seperti ini:
<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span> </span>
Lihat trek penyenaraian pen oleh SitePoint (@SitePoint) pada codepen.
Apa ini, ialah ia menanyakan titik akhir /trek dan menjangkakan fungsi panggil balik. Sambutan disimpan dalam parameter tindak balas panggilan balik, yang merupakan pelbagai objek JavaScript dengan pelbagai sifat, tajuk menjadi salah satu daripada mereka. Kita boleh konsol.log (respons [0]) dan bukannya gelung untuk melihat keseluruhan objek dan sifatnya. Kemudian kita akan tahu sifat mana yang kita akses kepada.
Notis, dalam contoh ini kami tidak menetapkan URL panggil balik semasa permulaan. Ini kerana di sini tidak mengapa jika kita menentukan atau tidak. Sama ada kod kami akan berfungsi. Tetapi apabila kita akan melaksanakan fungsi pengguna login, ia akan menjadi penting dan akan diperlukan supaya tidak ada orang lain yang boleh menggunakan id klien kami.
Objek SC menawarkan kaedah lain, sc.oembed (url, pilihan, panggilan balik), yang membenamkan pemain SoundCloud di laman web kami dan membolehkan kami memainkan lagu pilihan kami.
<span>SC.initialize({ </span> <span>client_id: "CLIENT_ID", </span> <span>redirect_uri: "CALLBACK_URL" </span><span>}); </span>Lihat pen yang membenamkan trek oleh SitePoint (@SitePoint) pada Codepen.
mari kita memecahkannya:
Trik ini boleh digunakan untuk membenamkan lagu atau muzik di laman web.
Untuk pelaksanaan fungsi pengguna login, kita perlu mempunyai URL panggil balik untuk tujuan kebenaran. Ini adalah keperluan protokol OAuth. Sekiranya anda ingin tahu, inilah penjelasan yang mudah: OAuth 2 dipermudahkan. Oleh itu, mari kita teruskan dan kemas kini tetapan aplikasi untuk memasukkan URL panggil balik callback.html, yang kini akan kita buat.
Selepas pengguna telah log masuk, tetingkap pop timbul mengalihkan ke fail ini. Dalam kes kami, kami akan menamakannya callback.html dan ia akan tinggal di direktori yang sama dengan halaman rumah kami (index.html). Ini adalah fail yang perlu kami berikan dalam medan panggil balik dalam tetapan aplikasi kami.
anda boleh mengubahsuai mesej dan reka bentuknya sebanyak yang anda mahu, tetapi buat masa ini, kami akan menyimpannya semudah mungkin:
<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><title</span>></span>Include SDK - Using SoundCloud API<span><span></title</span>></span> </span> <span><span><span><script</span> src<span>="//connect.soundcloud.com/sdk.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span><span><span></body</span>></span> </span><span><span><span></html</span>></span> </span>Melog masuk pengguna dalam
<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span> </span>Contoh yang lebih menarik adalah:
<span>SC.initialize({ </span> <span>client_id: "CLIENT_ID", </span> <span>redirect_uri: "CALLBACK_URL" </span><span>}); </span>mari kita memecahkannya:
Bermain dengan data pengguna
mari kita berjalan melalui dua fail. Di index.html, empat div adalah penting, kerana mereka dapat diisi dengan data pengguna selepas pengguna telah log masuk:
<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><title</span>></span>Include SDK - Using SoundCloud API<span><span></title</span>></span> </span> <span><span><span><script</span> src<span>="//connect.soundcloud.com/sdk.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span><span><span></body</span>></span> </span><span><span><span></html</span>></span> </span>
Fail paling penting seterusnya ialah Script.js: Semua sihir berlaku di sini. Kebanyakan kod itu akan menjadi biasa kepada kami, tetapi mari berjalan dengan cepat:
<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span> </span>
<span>SC.initialize({ </span> <span>client_id: "CLIENT_ID", </span> <span>redirect_uri: "CALLBACK_URL" </span><span>}); </span>
<span>SC.get("/tracks", function(response) { </span> <span>for (var i = 0; i < response.length; i++) { </span> <span>$("ul").append("<li>" + response[i].title + "</li>"); </span> <span>} </span><span>}); </span>
Ringkasan
Saya suka mendengar daripada anda tentang perkara yang telah anda bina (atau merancang untuk membina) dengan SDK SoundCloud. Beritahu saya dalam komen!
sc.initialize ({
client_id: 'your_client_id'Anda boleh membuat permintaan API untuk SoundCloud menggunakan kaedah sc.get. Kaedah ini mengambil dua parameter: titik akhir dan fungsi panggil balik. Titik akhir adalah URL sumber API yang anda ingin akses, dan fungsi panggil balik dilaksanakan apabila tindak balas API diterima. Membuat permintaan API, kesilapan boleh dikendalikan menggunakan kaedah tangkapan. Kaedah ini mengambil fungsi sebagai parameter, yang dilaksanakan apabila ralat berlaku. Objek Ralat diserahkan kepada fungsi ini, membolehkan anda mengendalikan ralat dengan sewajarnya. Perlu menggunakan kaedah sc.stream. Kaedah ini mengambil URI trek sebagai parameter dan mengembalikan objek aliran. Anda kemudian boleh menggunakan kaedah main di objek ini untuk memainkan trek. objek. Untuk meneruskan trek, anda boleh menggunakan kaedah main sekali lagi.
Untuk mencari trek, anda boleh menggunakan kaedah sc.get dan lulus '/trek' sebagai titik akhir. Anda juga boleh lulus parameter pertanyaan untuk menapis trek. Contohnya, untuk mencari trek dengan tajuk 'My Track', anda boleh menggunakan kod berikut:
sc.get ('/tracks', {q: 'my track'}). Kemudian (fungsi (trek) {
Atas ialah kandungan terperinci Menggunakan API SoundCloud dengan SDK JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!