1. WoltLab Suite
    1. Apps
    2. Features
    3. Services
    4. Pricing
  2. Customer Area
  3. Community
    1. Dashboard
    2. Unresolved Threads
  4. Plugin-Store
  5. Blog
  • Login or register
  • Search
API Packages
  • Everywhere
  • API Packages
  • Forum
  • Plugin-Store
  • Articles
  • Pages
  • More Options
  1. WoltLab®
  2. Plugin-Store
  3. Plugins
  4. Development
  5. API Packages

WoltLab Cloud Steam-API 1.2.0

  • (1)
  • Hanashi
  • January 22, 2020 at 7:08 PM
  • 156 Downloads
  • 0 Comments
  • Download
  • Overview
  • Versions 5
  • Reviews 1

Eine API für Steam

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?

Die komplette Dokumentation ist hier zu finden: https://hanashi.dev/tools/steam-api-doc/

  • Version 1.2.0

    • Hanashi
    • September 8, 2023 at 10:10 AM
    • 3.47 kB
    • 1 Download

    Es wird nun mindestens WSC 5.5.14 vorausgesetzt.

    • das Plugin funktioniert nun auch mit WSC 6.0
    • Codestyleanpassungen
  • Version 1.1.1

    • Hanashi
    • July 21, 2021 at 5:06 PM
    • 22.53 kB
    • 22 Downloads
    • FEATURE: getHttpClient-Funktion in SteamAPI eingebaut
  • Version 1.1.0

    • Hanashi
    • July 20, 2021 at 8:54 AM
    • 22.02 kB
    • 2 Downloads
    • CHANGE: Umstellung auf GuzzleHttp
    • CHANGE: SystemException durch Exception ersetzt
    • FIX: http_build_query-Verwendung
  • Version 1.0.2

    • Hanashi
    • July 18, 2021 at 10:49 AM
    • 21.5 kB
    • 2 Downloads
    • CHANGE: Umstellung auf PSR-12
  • Version 1.0.1 pl 1

    • (1)
    • Hanashi
    • January 26, 2020 at 1:46 PM
    • 20.48 kB
    • 129 Downloads

    Changes

      • Date
      • Rating
      • 1.2.0
      • 1.1.1
      • 1.1.0
      • 1.0.2
      • 1.0.1 pl 1
      • All Versions
  • TOP

    • Nibz
    • 1.0.1 pl 1
    • February 11, 2020 at 6:23 PM

    Einfach gut

File Details

License Agreement
CC0-1.0
Supported Versions
WoltLab Suite 5.5
WoltLab Suite 6.0

More Files by Hanashi

  • Discord Shoutbox

    Hanashi June 17, 2020 at 7:45 PM
  • Address book

    Hanashi September 18, 2023 at 11:52 AM
  • Twemoji Selector

    Hanashi May 27, 2020 at 7:45 PM
  • Raffle

    Hanashi April 22, 2019 at 3:33 PM
  • TeamSpeak-Sync

    Hanashi February 17, 2019 at 8:54 PM
All Files

Plugins for This Product

Steam Integration EUR 24.99

WoltLab Suite

  1. WoltLab Suite
  2. Apps
  3. Features
  4. Services
  5. Customer Stories
  6. Pricing

Support

  1. Manual
  2. Community
  3. Frequently Asked Questions
  4. Developer Documentation
  5. Contact Form

Information

  1. General Terms and Conditions
  2. Rental Conditions
  3. Community Guidelines
  4. Plugin-Store Guidelines
  5. Jobs
  6. Privacy Policy
  7. Legal Notice
Powered by WoltLab Suite™ 6.0.0 RC 1