• Offizieller Beitrag

    Steam bietet eine große Auswahl an Möglichkeiten, was Entwickler mit deren API alles anstellen können. Login via Steam ist dabei nur eine Sache. Es geht noch viel mehr. Aus diesem Grund habe ich die Steam-API für das WSC entwickelt. Diese Erweiterung unterstützt alle API-Anfragen, wofür ihr kein Steam-Partner sein müsst.

    Wie bekomme ich einen Steam-API-Key?

    Dafür benötigst ihr zuerst einmal einen Steam-Account. Dieser kann kostenlos erstellt werden. Danach geht ihr auf folgende Seite und könnt einen API-Key registrieren: Steam Community

    Wie implementiere ich die API in mein Plugin?

    Füge dev.hanashi.wsc.steam-api mit Mindest-Version 1.0.0 als Abhängigkeit in deiner package.xml ein.

    Nun kannst du API-Funktionen aufrufen. Jede Funktion wird wie folgt ausgeführt:

    PHP

    Code

    \wcf\system\steam\SteamAPI::execute($interface, $method, $version, $data);


    Wir wollen beispielsweise die News für ein Spiel abrufen. Dafür führen wir folgenden Code aus:

    PHP

    Code

    \wcf\system\steam\SteamAPI::execute('ISteamNews', 'GetNewsForApp', 2, ['appid' => 440]);

    Als Rückgabe bekommen wir nun die letzten News für das Spiel mit der ID 440.


    Es gibt auch Befehle die keine Parameter entgegen nehmen. Dabei wird $data einfach weggelassen:

    PHP

    Code

    \wcf\system\steam\SteamAPI::execute('ISteamWebAPIUtil', 'GetSupportedAPIList', 1);


    In der API wurden weitere optionale Parameter implementiert. Schaue dir dazu die Methode wcf\system\steam\SteamAPI::execute an.

    Im Falle eines Fehlers wird eine Exception vom Typ wcf\system\exception\SteamException geworfen.

    Wie implementiere ich OpenID?

    Zuerst benötigst du die OpenID-URL für Steam. Diese kannst du wie folgt generieren lassen:

    PHP

    Code

    \wcf\system\steam\SteamAPI::getOpenIDUrl($redirectUri, $realm);

    $redirectUri ist die URL wo Steam den Benutzer hinleiten soll, nachdem er seinen Account auf der Steam-Seite bestätigt hat. Diese Seite muss im nächsten Schritt implementiert werden.

    $realm ist die Domain mit Protokoll der Seite (z.B.: https://example.org).


    Im nächsten Schritt muss die angegebene Redirect-URI implementiert werden. Dort reicht es folgende Methode auszuführen:

    PHP

    Code

    \wcf\system\steam\SteamAPI::validateOpenID();

    Diese gibt die Steam-ID des Benutzers zurück. Danach kann diese für weitere Login-Versuche benutzt werden.

    Wo finde ich die möglichen Funktionen für die API?

    Die komplette Dokumentation ist hier zu finden: Steam-API-Dokumentation - Hanashi Development


    Zur Original Nachricht: Steam-API - WoltLab®