Heim > Web-Frontend > js-Tutorial > Verwenden der SoundCloud -API mit dem JavaScript SDK

Verwenden der SoundCloud -API mit dem JavaScript SDK

Christopher Nolan
Freigeben: 2025-02-18 11:20:10
Original
378 Leute haben es durchsucht

Verwenden der SoundCloud -API mit dem JavaScript SDK

Key Takeaways

  • Mit der SoundCloud -API können Entwickler auf nahezu alle Daten zugreifen, die sie benötigen. Die API ist eine Sammlung von URLs, die Zugriff auf Daten von SoundCloud-Servern ermöglichen, während das SDK (Software Development Kit) eine vorgeschriebene Bibliothek für die Abfrage der API ist.
  • Es sind zwei Versionen des SDK verfügbar. Der Hauptunterschied zwischen ihnen besteht darin, dass sie Daten zurückgeben, wenn eine asynchrone Anfrage an die API gestellt wird. Die neueste Version gibt ein Versprechen zurück, während die andere eine Rückruffunktion als Parameter erfordert.
  • Um die SoundCloud -API mit JavaScript abzufragen, muss das von SoundCloud bereitgestellte JavaScript -SDK heruntergeladen werden. Für die Benutzer-Login-Funktionalität wird die ältere Version des SDK empfohlen, da sie stabiler ist.
  • Daten aus der SoundCloud -API können mit einer einfachen GET -Anforderung zugegriffen werden. Benutzerspezifische Daten können mit dem Endpunkt /me-Endpunkt erhalten werden, jedoch nur, wenn der Benutzer mit dem SoundCloud-Konto auf der Website angemeldet ist.
  • Abfragen einer API von der Client-Seite kann Entwicklern vor den Komplexität des Back-Ends retten. Der SDK vereinfacht den Prozess und ermöglicht die Erstellung leistungsstärkerer und benutzerfreundlicherer Webanwendungen.
Dieser Artikel wurde von Jamie Shields und Wern Ancheta geprüft. Vielen Dank an alle Peer -Rezensenten von SitePoint, die SitePoint -Inhalte so gut wie möglich gemacht haben!

SoundCloud hat eine API zur Verfügung gestellt, mit der Entwickler fast alle gewünschten Daten erhalten können. Seine Verwendung kann jedoch verwirrend sein, insbesondere für Anfänger, da ab sofort die SoundCloud -API -Dokumentation und die Beispiele verschiedene Versionen des SDK (Software Development Kit) verwenden.

Was ist der Unterschied zwischen der API und dem SDK? Grundsätzlich ist die API eine Sammlung von URLs, die Zugriff auf Daten von SoundCloud-Servern ermöglichen, und der SDK ist eine vorgeschriebene Bibliothek (oder Client) zur Abfrage der API. Um mehr zu erfahren, sehen Sie diese Diskussion.

In diesem Tutorial lernen wir, wie Sie auf die SoundCloud -API zugreifen und wie Sie den Prozess mithilfe des SDK vereinfachen. Wir werden das SDK einrichten und dann das JavaScript schreiben, um Daten zu erhalten, Audio abzuspielen und mehr von SoundCloud.

Erste Schritte

Die Konzepte und Funktionsweise von HTTP und APIs kennen, wird hilfreich sein. Wenn Sie mehr über APIs erfahren möchten, empfehle ich diesen kurzen Kurs: eine Einführung in APIs. Ein kleines Wissen über asynchrones Javascript, Versprechen und Rückrufe hilft ebenfalls. JQuery wird in unseren Code -Beispielen verwendet, so

Um die SoundCloud -API mit JavaScript abzufragen, müssen wir den von SoundCloud bereitgestellten JavaScript -SDK herunterladen. Wie bereits erwähnt, sind zwei verschiedene Versionen des SDK verfügbar.

Welche Version des SDK zu verwenden?

Der Hauptunterschied zwischen ihnen besteht darin, dass sie Daten zurückgeben, wenn eine asynchrone Anfrage an die API gestellt wird. Die neueste Version gibt ein Versprechen zurück, während die andere eine Rückruffunktion als Parameter erfordert.

Ein Problem, das mir aufgefallen ist, ist, dass es mit der Version von SDK, die in der Dokumentation verwendet wird, ein Problem mit der Benutzerloginfunktionalität zu geben scheint, da das Popup-Fenster nicht automatisch geschlossen wird.

Für den Einfachheit halber willen, und weil es stabiler ist, werden wir die alte Version in den Beispielen in diesem Tutorial verwenden. Diese Version erfordert Rückruffunktionen für asynchrone Anfragen.

Verwenden Sie die Soundcloud -API

Einen grundlegenden HTML -Dokument

einrichten

Wir erstellen eine grundlegende HTML -Seite, die als Homepage dient. Wir werden auch die SDK hier einbeziehen, damit wir seine Funktionalität nutzen können.

<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>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Beachten Sie, dass wir das SDK direkt von den Servern von SoundCloud in unsere Seite aufgenommen haben. Sie können den SDK auch herunterladen und darauf verweisen wie:

<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span>
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

zum Testen, ob das SDK korrekt in Ihre Webseite geladen wird:

  • Öffnen Sie die Seite in einem Browser (Chrome empfohlen).
  • Entwicklerkonsole im Browser öffnen ( Strg -Verschiebung J , in Chrom).
  • Geben Sie in der Konsole SC ein und drücken Sie die Eingabetaste. SC ist ein JavaScript -Objekts , das von dem SDK erstellt wurde, das wir gerade enthalten haben.

Wenn ein undefinierter Fehler angezeigt wird, wird er nicht richtig geladen. Versuchen Sie es zu aktualisieren und stellen Sie sicher, dass der Pfad zur SDK -Datei (SDK.js) korrekt ist.

Registrieren Sie eine SoundCloud -App

Um eine SoundCloud -App zu registrieren, benötigen Sie lediglich ein SoundCloud -Konto. Wenn Sie noch keinen haben, erstellen Sie einen. Durch die Registrierung einer App können SoundCloud -Server unsere Anfrage überprüfen, sodass niemand sonst eine Anfrage in unserem Namen stellen kann.

Hinweis: Wir können diesen Schritt überspringen, wenn wir die Funktion "Benutzer-Login" auf unserer Website nicht verwenden möchten. Es wird im nächsten Abschnitt erklärt.

  • Öffnen Sie die SoundCloud -Apps -Seite. Hier werden alle Apps, die wir bereits erstellt haben, aufgeführt. Stellen Sie sicher, dass Sie in Ihrem SoundCloud -Konto angemeldet sind. Hinweis: Sie müssen für diesen Zweck kein separates Konto erstellen. Sie können das gleiche Konto verwenden, das Sie für persönliche Zwecke verwenden.

  • Klicken Sie auf die Taste Registrieren Sie eine neue Anwendung . Verwenden der SoundCloud -API mit dem JavaScript SDK

  • Geben Sie ihm einen Namen und akzeptieren Sie die Entwicklerrichtlinien von SoundCloud, indem Sie das Kontrollkästchen überprüfen. Verwenden der SoundCloud -API mit dem JavaScript SDK

  • Klicken Sie auf die Big Register , um die App -Registrierung abzuschließen.

Nachdem wir uns erfolgreich registriert haben, werden wir auf die Einstellungsseite unserer neu erstellten App umgeleitet. Dort finden wir die Client -ID unserer App , mit der unsere Anfragen genehmigt werden. Wir können die Felder und Callback für den Moment verlassen. Wir werden später dazu kommen.

initialisieren Sie den Client

Durch „Initialisierung des Kunden“ möchten wir den Kunden bereit machen, Daten zwischen sich und SoundCloud -API auszutauschen. Wir können es in unserem grundlegenden HTML -Dokument, das wir früher erstellt haben, oder in einer externen

.js Datei. tun.

Die JavaScript -Syntax, um dies zu tun, ist:

<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>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

lass es uns aufschlüsseln:

  • Die Client_ID wird uns zur Verfügung gestellt, wenn wir unsere App registrieren.
  • callback_url ist die URL zu Callback.html, eine HTML -Datei, die aufgerufen wird, nachdem der Benutzer angemeldet ist. Wir werden sie bald erstellen.
Nach der Initialisierung sind wir jetzt bereit, die SoundCloud -API abzufragen. Schauen wir uns einige Beispiele dafür an, was wir bereits tun können.

Beispiele

Wenn wir die Browserkonsole öffnen und SC eingeben, wird eine Liste der mit dem SC -Objekt zugeordneten Methoden angezeigt. Sc.get (URI, Callback) ist einer von ihnen, der verwendet wird, um Get -Anfragen an die API zu machen.

Erhalten Sie eine Liste von Tracks

Um eine Liste zufälliger Tracks zu erhalten, können wir sc.get () wie folgt verwenden:

<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span>
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Siehe die Stiftlisten -Tracks von SitePoint (@sitepoint) auf CodePen.

Was dies tut, ist, dass es den Endpunkt /verfolgt und eine Rückruffunktion erwartet. Die Antwort wird im Antwortparameter des Rückrufs gespeichert, bei dem es sich um ein Array von JavaScript -Objekten mit mehreren Eigenschaften handelt, wobei der Titel eines davon ist. Wir können konsolen.log (Antwort [0]) anstelle von Looping, um ein ganzes Objekt und seine Eigenschaften zu sehen. Dann werden wir wissen, auf welche Eigenschaften wir Zugriff haben.

Beachten Sie in diesem Beispiel haben wir während der Initialisierung keine Callback -URL angegeben. Dies liegt daran, dass es hier keine Rolle spielt, ob wir es angeben oder nicht. So oder so wird unser Code funktionieren. Wenn wir jedoch die Funktionen der Benutzer-Login implementieren, ist dies von Bedeutung und ist erforderlich, damit niemand unsere Client-ID verwenden kann.

Einbetten eines Tracks

Das SC -Objekt bietet eine andere Methode, sc.oembed (URL, Optionen, Rückruf), die den Soundcloud -Player in unsere Website einbettet und es uns ermöglicht, einen Track unserer Wahl zu spielen.

<span>SC.initialize({
</span>  <span>client_id: "CLIENT_ID",
</span>  <span>redirect_uri: "CALLBACK_URL"
</span><span>});
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Siehe den Stift, der einen Track von sitepoint (@sitepoint) auf CodePen einbettet.

lass es uns aufschlüsseln:

  • Zuerst geben wir ihm eine vollständige URL des Tracks, die wir spielen möchten.
  • Im Parameter Optionen setzen wir einige Optionen für den Spieler. Weitere Informationen finden Sie hier.
  • In der Rückruffunktion ersetzen wir den Inhalt eines Elements (#Player) in unserer Seite durch den HTML -Code für den Player (res.html).

Dieser Trick kann verwendet werden, um einen Song oder eine Musik in eine Website einzubetten.

Implementieren von Benutzeranmeldungen

Für die Implementierung der Benutzer-Login-Funktionalität müssen wir eine Rückruf-URL für Autorisierungszwecke haben. Dies ist eine Anforderung des OAuth -Protokolls. Wenn Sie neugierig sind, finden Sie hier eine vereinfachte Erklärung von: OAuth 2 vereinfacht. Lassen Sie uns also die App -Einstellungen aktualisieren, um eine Callback -URL von Callback.html hinzuzufügen, die wir jetzt erstellen werden.

Erstellen Sie die Rückrufseite

Nachdem sich ein Benutzer angemeldet hat, leitet das Popup-Fenster in diese Datei weiter. In unserem Fall werden wir es Callback.html benennen und es befindet sich im selben Verzeichnis wie unsere Homepage (index.html). Dies ist die Datei, die wir im Feld Callback in unseren App -Einstellungen geben müssen.

Verwenden der SoundCloud -API mit dem JavaScript SDK

Der Code, den wir in der Rückrufdatei verwenden müssen, ist in der Dokumentation bereitgestellt. Die Dokumentation ist jedoch etwas veraltet, sodass wir sie leicht ändern, um moderne Standards zu erfüllen.

Sie können seine Nachricht und das Design so viel ändern, wie Sie möchten, aber fürs Erste werden wir sie so einfach wie möglich halten:

<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>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Protokollieren Sie den Benutzer in

sc.connect (Callback) ist die Methode zur Implementierung der Benutzer-Login-Funktion. Es öffnet ein Popup-Fenster und veranlasst den Benutzer, sich bei ihrem SoundCloud-Konto anzumelden. Die grundlegende Verwendung ist wie unten:

<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span>
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Ein etwas interessanteres Beispiel wäre:

<span>SC.initialize({
</span>  <span>client_id: "CLIENT_ID",
</span>  <span>redirect_uri: "CALLBACK_URL"
</span><span>});
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

lass es uns aufschlüsseln:

  • Nachdem sich der Benutzer angemeldet hat, werden sie zu callback.html umgeleitet, die wir zuvor erstellt haben.
  • dann schließt sich das Popup-Fenster automatisch, wie wir den Code in callback.html.
  • erraten können.
  • Danach wird unsere Rückruffunktion aufgerufen, in der eine GET -Anforderung an /me -Endpunkt mit der sc.get () -Methode erstellt wird.
  • Sobald die GET -Anforderung abgeschlossen ist, wird die Rückruffunktion ausgeführt und eine Begrüßungsnachricht an der Konsole angemeldet.

Beachten Sie, dass eine Anfrage an /mich Daten über den derzeit angemeldeten Benutzer zurückgibt. Daher führt die Verwendung, bevor der Benutzer angemeldet wurde, zu einer Fehlermeldung.

mit den Daten des Benutzers

spielen

Sobald sich der Benutzer angemeldet hat, können wir so viel mehr tun. Um einen Teil der Macht zu demonstrieren, habe ich eine Demo -Website auf GitHub erstellt. Hier finden Sie den Quellcode und sehen ihn hier in Aktion.

Gehen wir durch zwei der Dateien. In Index.html sind die vier Divs von Bedeutung, da sie mit Benutzerdaten ausgefüllt werden, nachdem der Benutzer angemeldet ist:
<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>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Die nächste wichtigste Datei ist Skript.js: Alle Magie geschieht hier. Der größte Teil des Codes wird uns vertraut sein, aber gehen wir schnell durch:

<span><span><span><script</span> src<span>="sdk.js"</span>></span><span><span></script</span>></span>
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
  • Zuerst initialisieren wir unsere App. Beachten Sie, dass wir diesmal als unsere Callback.html -Seite angegeben haben. Diese URL oder URI sollte genau mit der URL übereinstimmen, die wir in unseren App -Einstellungen angegeben haben.
<span>SC.initialize({
</span>  <span>client_id: "CLIENT_ID",
</span>  <span>redirect_uri: "CALLBACK_URL"
</span><span>});
</span>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
  • Anschließend fügen wir einen Klick -Ereignis -Handler an die Taste #Login hinzu. Dies wird beim Klicken SC.Connect (Callback) ausgeführt, das ein Popup-Fenster öffnet, das den Benutzer zur Anmeldung auffordert.
  • Nachdem sich der Benutzer angemeldet hat, schließt das Popup-Fenster. Dann wird die Rückruffunktion von sc.connect () ausgeführt. In der Rückruffunktion stellen wir eine Get-Anfrage an den /me-Endpunkt, der das Objekt des aktuell angemeldeten Benutzers zurückgibt. Im Rückruf der von uns gerade gestellten GET -Anfrage speichern wir den Permalink des Benutzers in der variablen user_perma, die in globalem Bereich definiert ist, sodass wir sie später verwenden können.
  • Die Funktionen setUi (), getTracks () und getPlaylists (), die Benutzeroberfläche einrichten, die Tracks des Benutzers auflisten und die Wiedergabelisten des Benutzers auflisten. Diese Funktionen sind in derselben Datei definiert.
<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>
Nach dem Login kopieren
  • Wenn ein Track- oder Playlist -Name angeklickt wird, wird die Funktion Play () ausgeführt, die einen Audio -Player mit der SC.Oembed () -Methode für diesen Track oder diese Wiedergabeliste in unsere Seite einbettet.
  • .

Es gibt noch viel mehr, was wir tun können, z. B. das Abrufen oder Aktualisieren der Beschreibung des Benutzers, das Erhalten des Avatars des Benutzers, sehen, wem der Benutzer folgt und deren Favoriten.

Zusammenfassung
  • Verwenden Sie die ältere Version des SDK, wenn die Funktion des Benutzer-Logins verwendet werden soll. Es ist stabil und die Daten werden mit Callback -Funktionen zurückgegeben.
  • Wenn die Benutzer-Login-Funktion nicht verwendet wird, kann die neuere Version des SDK verwendet werden. Es verwendet Versprechen, Daten zurückzugeben.
  • Daten von der SoundCloud -API können durch eine einfache GET -Anforderung zugegriffen werden.
  • Benutzerspezifische Daten können mit /me-Endpunkt erhalten werden, aber nur, wenn der Benutzer mithilfe ihres SoundCloud-Kontos auf unserer Website angemeldet ist.

Eine API von der Client-Seite abfragt, ist ein leistungsstarkes Tool, das uns vor den Komplexität des Back-Ends erspart. Der SDK erleichtert unser Leben viel einfacher. Nach dem Erlernen seiner Grundlagen können wir noch leistungsstarke und benutzerfreundlichere Webanwendungen erstellen. Sehen Sie einige Beispiele für das, was möglich ist, und sehen Sie sich die offizielle SoundCloud -Dokumentation an, um mehr über die verfügbaren erweiterten API -Methoden zu erfahren.

Ich würde gerne von Ihnen hören, welche Dinge Sie mit dem Soundcloud SDK aufgebaut haben (oder planen). Lass es mich in den Kommentaren wissen!

häufig gestellte Fragen (FAQs) zur Verwendung von SoundCloud -API mit JavaScript SDK

Was sind die Voraussetzungen für die Verwendung der SoundCloud -API mit JavaScript SDK? Sie benötigen auch ein SoundCloud -Konto und eine registrierte Anwendung auf SoundCloud. Die registrierte Anwendung bietet Ihnen eine Client -ID, die für API -Anfragen erforderlich ist. SoundCloud, Sie müssen sich in Ihrem SoundCloud -Konto anmelden und zu dem Abschnitt "Apps" navigieren. Hier können Sie eine neue Anwendung erstellen, indem Sie die erforderlichen Details wie den Bewerbungsnamen, die Beschreibung, die Website und den Umleitungs -URI angeben. Sobald die Anwendung erstellt wurde, erhalten Sie eine Client -ID. Sc.initialisieren Sie die Methode und geben Sie ein Objekt mit Ihrer Client -ID ein. Hier ist ein Beispiel:

sc.initialize ({

client_id: 'your_client_id'

}); >

Wie stelle ich API -Anfragen zum SoundCloud? Diese Methode erfordert zwei Parameter: den Endpunkt und eine Rückruffunktion. Der Endpunkt ist die URL der API -Ressource, auf die Sie zugreifen möchten, und die Rückruffunktion wird ausgeführt, wenn die API -Antwort empfangen wird. Wenn Sie API -Anforderungen erstellen, können Fehler mit der Catch -Methode behandelt werden. Diese Methode nimmt eine Funktion als Parameter an, die ausgeführt wird, wenn ein Fehler auftritt. Das Fehlerobjekt wird an diese Funktion übergeben, sodass Sie den Fehler angemessen behandeln können. müssen die SC.Stream -Methode verwenden. Diese Methode nimmt den URI des Tracks als Parameter und gibt ein Stream -Objekt zurück. Sie können dann die Play -Methode dieses Objekts verwenden, um den Titel abzuspielen. Objekt. Um den Track wieder aufzunehmen, können Sie die Play -Methode erneut verwenden.

Wie erhalte ich die Details eines Tracks? Methode und übergeben Sie den URI der Spur als Parameter. Die API -Antwort enthält die Details des Tracks.

Wie suche ich nach Tracks? Sie können auch einen Abfrageparameter übergeben, um die Spuren zu filtern. Um beispielsweise nach Tracks mit dem Titel "My Track" zu suchen (Tracks) {

console.log (Tracks);

});

Wie erhalte ich die Tracks eines Benutzers? SC.Get -Methode und Pass '/user/{user_id}/tracks' als Endpunkt. Ersetzen Sie "{user_id}" durch die ID des Benutzers. Die API -Antwort enthält die Tracks des Benutzers.

Das obige ist der detaillierte Inhalt vonVerwenden der SoundCloud -API mit dem JavaScript SDK. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage