Entwickeln
Entwickeln
Deine Plattform auswählen

Grundlagen von Server-to-Server

Einige Plattformfunktionen verwenden Server-to-Server(S2S)-REST-API-Aufrufe für Aktionen, die zum Senden von Client-Geräten nicht geeignet sind. Diese APIs stellen eine sichere Interaktion zwischen deinen Backend-Servern und der Meta Horizon-Plattform bereit.
Zum Beispiel verwenden wir diese APIs, um In-App-Käufe sicherer zu machen und Betrug zu verhindern.
Details zu einzelnen S2S-Aufrufen findest du unter den Links im Abschnitt Features.

Grundlagen von Nachrichten

Mit einigen Grundlagen von Server-to-Server-Nachrichten solltest du vertraut sein.

Server-to-Server-API: Voraussetzungen

Aufrufe an diese APIs müssen folgende Voraussetzungen erfüllen:

Endpunkt

Richte alle Server-to-Server-Anfragen an diesen Endpunkt:
https://graph.oculus.com

Zugriffstoken

Füge jeder Anfrage ein Zugriffstoken bei, um sie entweder als gültige Serveranfrage oder im Namen eines*einer bestimmten Nutzer*in zu authentifizieren. Dabei kannst du eine der folgenden Arten von Zugriffstoken verwenden:

App-Anmeldedaten

App-Anmeldedaten verifizieren das Backend deines Servers als vertrauenswürdige Ressource. Gib diese Anmeldedaten niemals an eine clientseitige App weiter.
Ein Zugriffstoken mit App-Anmeldedaten enthält die App-ID und den App-Geheimcode von der API-Seite im Meta Horizon Developer Dashboard. Er hat folgendes Format: OC|$APPID|$APPSECRET.
Wenn deine Anmeldedaten nicht mehr sicher sind oder du neue API-Anmeldedaten benötigst, kannst du einen neuen App-Geheimcode generieren. Durch die Änderung des App-Geheimcodes werden die Berechtigungen des vorherigen Geheimcodes widerrufen. Für den Zugriff auf den App-Geheimcode ist ein Admin-Konto erforderlich.

Zugriffstoken für Nutzer*innen

Ein Nutzer*innen-Zugriffstoken authentifiziert Anfragen im Namen eines*einer Nutzer*in. Verwende diesen Tokentyp, wenn sich Aktionen auf eine bestimmte Person beziehen. Ein mögliches Beispiel ist die Aktualisierung einer vom Client autorisierten Bestenliste mit den Ergebnissen eines vom Server gehosteten Multiplayer-Spiels. Dabei verwendest du für jede Person das jeweilige Nutzer*innen-Zugriffstoken, um deinen Server zu authentifizieren, während du Anfragen für die Aktualisierung der entsprechenden Bestenlisten stellst.
Du kannst das Nutzertoken mit der Methode ovr_User_GetAccessToken() abrufen.
Das Token wird als Antwort zurückgegeben und kann vom Client an deinen Server übergeben werden. Ein Nutzer*innen-Zugriffstoken enthält FRL oder OC sowie eine lange alphanumerische Zeichenfolge, die in etwa so aussieht: FRL12342GhFccWvUBxPMR4KXzM5s2ZCMp0mlWGq0ZBrOMXyjh4EmuAPvaXiMCAMV9okNm9DXdUA2EWNplrQ.
Außerdem kannst du dein Nutzer*innen-Token zu Testzwecken im Abschnitt „User Token“ auf der Seite API im Meta Horizon Developer Dashboard abrufen, das du über die linke Navigationsleiste erreichst.

App-ID

Für manche Serveraufrufe ist eine App-ID erforderlich, die du auf der Seite API im Meta Horizon Developer Dashboard findest.

Beispiel für einen Serveraufruf

Dieses Beispiel eines Server-API-Aufrufs zeigt, wie eine vom Client geschriebene (Client Authoritative) Auszeichnung freigeschaltet wird, die ein*e Nutzer*in verdient hat. Dieses Beispiel geht davon aus, dass du die Auszeichnung bereits erstellt und die Hooks in deine App integriert hast. Weitere Informationen findest du unter Auszeichnungen.
  1. Nutzer-ID abrufen: Um die Meta Quest-APIs im Namen eines*r Nutzer*in aufzurufen, musst du das Meta-Konto der Person angeben. Rufe ovr_User_GetLoggedInUser auf, um die ID abzurufen. Die ID wird als ovrID des*r Nutzer*in zurückgegeben.
  2. Übergib die Informationen an deinen vertrauenswürdigen Server: Nachdem du das Meta-Konto abgerufen hast, übergibst du das Konto und den api_name der Auszeichnung, die du auf dem Client-Gerät aktualisieren oder freischalten möchtest, an deinen Server.
  3. Bilde das App-Zugriffstoken: Verwende die folgenden, aus dem Abschnitt Entwicklung > API des Developer Dashboards abgerufenen Anmeldedaten:
    • App-ID: 1234567898014273
    • App-Geheimcode: 5f8730a4n51c5f8v8122aaf971b937e7
Du kannst dann das App-Zugriffstoken wie folgt bilden: OC|1234567898014273|5f8730a4n51c5f8v8122aaf971b937e7.
  1. Rufe die API auf, um die Auszeichnung freizuschalten: Wenn du die Informationen vom Client-Gerät erhalten und das App-Zugriffstoken gebildet hast, sendest du den API-Aufruf, um die Auszeichnung freizuschalten.
curl -d "access_token=OC|$APP_ID|$APP_SECRET" -d "api_name=MY_SIMPLE_ACHIEVEMENT" -d "force_unlock=true" https://graph.oculus.com/$USER_ID/achievements
Die folgende Antwort gibt an, dass die Anfrage erfolgreich war.
{ "id":"$USERID", "api_name":"MY_SIMPLE_ACHIEVEMENT", "just_unlocked":true }
Anschließend kannst du eine Nachricht über das erfolgreiche Freischalten der Auszeichnung an den Client zurücksenden.

Features mit Server-APIs

Die folgende Liste enthält Plattformlösungen, die Server-APIs bereitstellen.

Fehlerantworten und HTTP-Codes

Die S2S-REST-APIs von Meta Quest unterstützen die standardmäßigen HTTP-Statuscodes, die das Problem angeben.
CodeStatus
400
Fehlerhafte Anfrage
401
Nicht autorisierte Anfrage
403
Unzulässige Anfrage
404
Nicht gefunden
500
Interner Serverfehler