Für Entwickler
Erstellen Sie Integrationen mit der MySpeedPuzzling-Plattform. Greifen Sie auf Spielerergebnisse, Statistiken, Sammlungen und mehr über unsere REST API zu.
API-Dokumentation
Interaktive Swagger UI mit allen verfügbaren Endpoints, Anfrageparametern und Antwortschemata.
Live-Demo
Sehen Sie eine funktionierende OAuth2-Integration in Aktion. Authentifizieren Sie sich, rufen Sie Daten ab und erkunden Sie den Ablauf.
Quellcode
Vollständige PHP-Demo-Anwendung, die den OAuth2 Authorization Code Flow zeigt. Klonen Sie sie und legen Sie los.
Authentifizierung
Zwei Möglichkeiten zur Authentifizierung bei der API, je nach Anwendungsfall.
Personal Access Token
Generieren Sie einen Token für den programmatischen Zugriff auf Ihre eigenen Daten. Ideal für Home Assistant, persönliche Skripte und Automatisierungen.
Authorization: Token msp_pat_...
OAuth2 — Benutzerauthentifizierung
Authorization Code Flow für Drittanbieter-Apps. Benutzer autorisieren Ihre App, auf ihre Daten mit detaillierten Scopes zuzugreifen. Unterstützt Lese- und Schreiboperationen.
OAuth2 — Dienst
Client Credentials Flow für die Kommunikation zwischen Diensten. Lesezugriff auf die Daten jedes öffentlichen Spielers ohne Benutzerinteraktion.
So authentifizieren Sie sich
Wofür ist das gut?
Wenn Sie nur auf Ihre eigenen Daten zugreifen möchten. Perfekt für persönliche Automatisierungen — importieren Sie Ihre Ergebnisse in Home Assistant, zeigen Sie Ihre Statistiken auf einem persönlichen Dashboard an, verfolgen Sie Ihren Fortschritt in einer Tabelle oder erstellen Sie ein benutzerdefiniertes Benachrichtigungsskript.
Generieren Sie einen Token in Ihren Profileinstellungen und verwenden Sie ihn im Authorization-Header:
curl -H "Authorization: Token msp_pat_YOUR_TOKEN_HERE" \
https://myspeedpuzzling.com/api/v1/me
PAT gibt Ihnen vollen Zugriff auf alle /api/v1/me/*-Endpoints. Keine Scopes erforderlich. Zugriff auf Daten anderer Spieler ist nicht möglich.
Wofür ist das gut?
Wenn Sie eine App entwickeln, bei der sich Benutzer mit ihrem MySpeedPuzzling-Konto anmelden. Ihre App kann dann in ihrem Namen auf ihre Daten zugreifen — ihre Ergebnisse auf Ihrer Website anzeigen, ihnen ermöglichen, Lösezeiten über Ihr Wettbewerbstool hinzuzufügen, oder ihre Sammlungen über eine benutzerdefinierte Oberfläche verwalten.
Schritt 1: Leiten Sie den Benutzer weiter, um Ihre App zu autorisieren:
https://myspeedpuzzling.com/oauth2/authorize?
client_id=YOUR_CLIENT_ID
&response_type=code
&redirect_uri=https://your-app.com/callback
&scope=profile:read results:read
&state=RANDOM_STATE
Schritt 2: Tauschen Sie den Autorisierungscode gegen Tokens:
curl -X POST https://myspeedpuzzling.com/oauth2/token \
-d "grant_type=authorization_code" \
-d "code=AUTH_CODE_FROM_REDIRECT" \
-d "redirect_uri=https://your-app.com/callback" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
Schritt 3: Verwenden Sie den Access Token:
curl -H "Authorization: Bearer ACCESS_TOKEN" \
https://myspeedpuzzling.com/api/v1/me/results
Schritt 4: Wenn der Access Token abläuft, verwenden Sie den Refresh Token, um einen neuen zu erhalten:
curl -X POST https://myspeedpuzzling.com/oauth2/token \
-d "grant_type=refresh_token" \
-d "refresh_token=REFRESH_TOKEN" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
Access Token läuft nach 1 Stunde ab. Refresh Tokens sind 1 Monat gültig.
Wofür ist das gut?
Wenn Sie statistische Daten benötigen oder auf die öffentlichen Ergebnisse eines beliebigen Spielers ohne Benutzerinteraktion zugreifen möchten. Ideal für Bestenlisten-Widgets, Wettbewerbsergebnis-Anzeigen, Community-Statistik-Dashboards oder Datenanalyse-Tools.
Schritt 1: Fordern Sie direkt einen Access Token an:
curl -X POST https://myspeedpuzzling.com/oauth2/token \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "scope=results:read statistics:read"
Schritt 2: Verwenden Sie den Access Token, um die Daten eines öffentlichen Spielers zu lesen:
curl -H "Authorization: Bearer ACCESS_TOKEN" \
https://myspeedpuzzling.com/api/v1/players/PLAYER_UUID/results
Nur Lesezugriff. /me-Endpoints nicht verfügbar. Versteckte/private Spieler liefern leere Ergebnisse.
Verfügbare Scopes
profile:read
Standard
Benutzerprofil lesen
results:read
Spielerergebnisse lesen
statistics:read
Spielerstatistiken lesen
collections:read
Spielersammlungen lesen
solving-times:write
nur Auth Code
Lösungszeiten erstellen und bearbeiten
collections:write
nur Auth Code
Sammlungen erstellen, bearbeiten, löschen
Verfügbare Endpoints
Welche Endpoints Sie nutzen können, hängt von Ihrer Authentifizierungsmethode ab.
| Endpoint | PAT | Auth Code | Client Credentials |
|---|---|---|---|
| Ihre eigenen Daten (/me) | |||
GET /api/v1/me |
— | ||
GET /api/v1/me/results |
— | ||
GET /api/v1/me/statistics |
— | ||
GET /api/v1/me/collections |
— | ||
POST /api/v1/me/solving-times |
— | ||
PUT /api/v1/me/solving-times/{id} |
— | ||
POST/PUT/DELETE /api/v1/me/collections/* |
— | ||
| Öffentliche Daten anderer Spieler | |||
GET /api/v1/players/{id}/results |
— | ||
GET /api/v1/players/{id}/statistics |
— | ||
GET /api/v1/players/{id}/collections |
— | ||
/me-Endpoints./me-Endpoints.Fair-Use-Richtlinie
Bevor Sie Tokens generieren oder API-Zugang beantragen, lesen und akzeptieren Sie bitte unsere API Fair-Use-Richtlinie.
Erste Schritte
Persönliche Nutzung
Möchten Sie auf Ihre eigenen Daten zugreifen? Generieren Sie sofort einen Personal Access Token in Ihren Profileinstellungen. Keine Genehmigung erforderlich.
AnmeldenDrittanbieter-Anwendung
Entwickeln Sie eine App, die OAuth2-Zugang benötigt? Senden Sie eine Anfrage und wir prüfen sie. Sie erhalten Ihre Zugangsdaten nach Genehmigung.
Anmelden, um zu beantragenFragen? Schreiben Sie uns an jan@myspeedpuzzling.com.