Ich denke, dass das Abonnement-Modellsystem dazu neigt, reichlich Daten zu haben (verwenden Sie es, weil es unbegrenzt ist). In meinem Fall höre ich in letzter Zeit so viel Musik, dass ich dachte, es wäre interessant, die Spotify-API zu verwenden.
Lassen Sie uns dieses Mal eine Anwendung mit der Spotify-API erstellen.
https://developer.spotify.com/dashboard/
Sie können sich hier registrieren. Wenn Sie bereits ein Konto haben, melden Sie sich an und Sie können loslegen.
Sie werden bei der Registrierung gefragt, ob Sie es für kommerzielle Zwecke verwenden möchten. Antworten Sie daher richtig. Nach dem Erstellen der Anwendung können Sie die OAuth-Informationen unter "EDIT SETTINGS" eingeben. Es gibt verschiedene Optionen, z. B. das Web und Smartphones. Registrieren Sie diejenige, die zu Ihnen passt.
Wie später beschrieben wird, wird eine geeignete URL festgelegt, da dies nicht ausschließlich vom Webdienst getroffen wird.
https://developer.spotify.com/documentation/general/guides/authorization-guide/
Details sind oben beschrieben. Dieses Mal werden wir es als Webanwendung erstellen, aber in Wirklichkeit wird es über "Google Cloud-Funktionen" ausgeführt, sodass ein Aktualisierungstoken erforderlich ist. Gemäß den Spotify-Spezifikationen bleibt das Zugriffstoken eine Stunde lang gültig, und das Aktualisierungstoken bleibt gültig, bis etwas deaktiviert wird. Erstellen Sie dieses Mal vor dem Erstellen der Anwendung ein Aktualisierungstoken von Hand und konvertieren Sie es im Code in ein Zugriffstoken -> klicken Sie auf die Spotify-API.
Generieren Sie zunächst eine URL, um den Code abzurufen. Ich werde die Details weglassen, aber die endgültige URL lautet wie folgt. Ordnen Sie client_id und redirect_uri Ihrer Umgebung zu.
Außerdem hat die Spotify-API einen sehr fein unterteilten Bereich. Es ist unten aufgeführt, daher müssen Sie den erforderlichen Bereich angeben. https://developer.spotify.com/documentation/general/guides/scopes/
https://accounts.spotify.com/authorize?client_id=${CLIENT_ID}&response_type=code&redirect_uri=${REDIRECT_URL}&scope=user-read-private%20user-read-email&state=34fFs29kd09
Wenn es fertig ist, fügen Sie es in einen geeigneten Browser ein und drücken Sie die Eingabetaste, um zum eingestellten redirect_uri zurückzukehren. Es gibt kein besonderes Problem, wenn hier ein Fehler auftritt. Da sich die URL selbst geändert hat, verwenden wir als Nächstes nur den Codeteil dieser URL.
Als nächstes muss ich POST werfen. Also werde ich es mit Locken werfen. Legen Sie insbesondere den Code fest, der den folgenden Befehl und client_id und client_secret entsprechend der Umgebung verwendet hat, und geben Sie ihn aus. Wenn es kein Problem gibt, wird das Token zurückgegeben. Behalten Sie also das Aktualisierungstoken bei.
curl --data "code=${CODE}" --data "client_id=${CLIENT_ID}" --data "client_secret=${CLIENT_SECRET}" --data "redirect_uri=http://localhost/callback" --data "grant_type=authorization_code" https://accounts.spotify.com/api/token
from Refresh Token to Access Token
Die Konvertierung vom Aktualisierungstoken zum Zugriffstoken erfolgt einmalig durch Drücken der API.
In diesem Fall müssen Sie "Authorization: Basic
Vorerst werde ich den von mir erstellten Python-Code einfügen.
from dotenv import load_dotenv
import os
import requests
import base64
import json
load_dotenv(verbose=True)
client_id = os.environ.get("SPOTIFY_CLIENT_ID", default="")
client_secret = os.environ.get("SPOTIFY_CLIENT_SECRET", default="")
token = base64.b64encode((client_id + ":" + client_secret).encode("utf-8")).decode(
"utf-8"
)
headers = {"Authorization": "Basic " + token}
data = {
"refresh_token": os.environ.get("REFRESH_TOKEN"),
"grant_type": "refresh_token",
}
response = requests.post(
"https://accounts.spotify.com/api/token", data=data, headers=headers
) # noqa: E501
print(json.loads(response.text)["access_token"])
Um einen API-Aufruf zu tätigen, setzen Sie einfach das Zugriffstoken, das Sie erhalten haben, auf Bearer und werfen Sie es. Unten finden Sie einen Beispielcode für die Generierung von Ranking-Daten, die ich erstellen möchte.
header = {"Authorization": "Bearer " + access_token}
data = {
"limit": 50,
"time_range": "short_term",
}
response = requests.get(
"https://api.spotify.com/v1/me/top/tracks", params=data, headers=header
)
Jetzt können Sie mithilfe der Spotify-API sicher eine Anwendung erstellen. Während Spotify schwer zu verstehen ist, wo und was sich befindet, sind die API-Spezifikationen detailliert beschrieben. Es gibt überraschend viele Dinge, die getan werden können, so dass der Eindruck entsteht, dass es als gutes Beispiel als Ausgangspunkt für die API-Erstellung verwendet werden kann.
Übrigens mache ich jetzt die Ranglisten, die ich im Vormonat gehört habe, einmal im Monat auf Twitter. Ich habe den Post-Teil noch nicht gemacht, also werde ich ihn von nun an machen.
Das Verfahren zum Erstellen von Hand ist für andere OAuth-APIs dasselbe, sodass es effektiv angewendet werden kann. Bitte versuchen Sie, verschiedene Anwendungen zu erstellen, indem Sie auf verschiedene APIs klicken. Wenn Sie es jedoch veröffentlichen, wird das API-Limit sofort überschritten. In diesem Fall sollten Sie den Authentifizierungsteil ordnungsgemäß ausführen, damit er mit der Benutzeroberfläche ausgeführt werden kann.
Recommended Posts