Neues (kostenfreies) Produkt: Steam-API

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: https://steamcommunity.com/dev/apikey

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
\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
\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
\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
\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
\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?

Führe dazu einfach den folgenden PHP-Code aus:

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

Dadurch bekommst du alle für dich nutzbaren Funktionen zurück.

Antworten 5