qstart-soft/steam-api

用于操作Steam Web API的PHP库

v1.0.1 2022-10-16 00:04 UTC

This package is auto-updated.

Last update: 2024-09-16 04:29:17 UTC


README

Qstart Steam Api库包含请求Steam Web API所需的所有方法集

安装

$ composer require qstart-soft/steam-api

入门

提交请求有两种方式。

  1. 使用PSR-18客户端实例
  2. 自己使用你喜欢的库发送HTTP请求

首先,我们需要定义请求的方法并创建方法实例。

库中每个API的方法都是一个具有属性-参数的类。

第一种方式

让我们使用PSR-18客户端发送请求

use Qstart\SteamApi\SteamApiKey;
use Qstart\SteamApi\SteamApi;
use Qstart\SteamApi\Method\SteamApiGetOwnedGamesV1Method;

/** @var Psr\Http\Client\ClientInterface $client */

$key = new SteamApiKey('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');

$steamApi = new SteamApi($key, $client);

$method = new SteamApiGetOwnedGamesV1Method();
$method
    ->setSteamId(76561198072113884)
    ->setIncludeAppInfo(true)
    ->setIncludePlayedFreeGames(true)
    ->setAppIdsFilter([552990]);

/** @var \Psr\Http\Message\ResponseInterface $response */
$response = $steamApi->send($method);

// Json response from API
$json = $response->getBody()->getContents();
$data = json_encode($json, true);

第二种方式

现在考虑自发送选项,不使用PHP标准推荐(PSR)

use Qstart\SteamApi\SteamApiKey;
use Qstart\SteamApi\SteamApiRequest;
use Qstart\SteamApi\Method\SteamApiGetOwnedGamesV1Method;

$key = new SteamApiKey('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
$method = new SteamApiGetOwnedGamesV1Method();
$method
    ->setSteamId(76561198072113884)
    ->setIncludeAppInfo(true)
    ->setIncludePlayedFreeGames(true)
    ->setAppIdsFilter([552990]);

$request = new SteamApiRequest($method, $key);

$link = $request->getUri();
$arguments = $request->getPreparedArguments();
$psr7Request = $request->getPsr7Request();

// Further, for example, if you want to get a link for a get request
$uri = $link . '?' . http_build_query($arguments);

格式

为了更改响应的格式,必须调用方法实例的setter

use Qstart\SteamApi\SteamApiFormats;
use Qstart\SteamApi\Method\SteamApiGetOwnedGamesV1Method;

$method = new SteamApiGetOwnedGamesV1Method();
$method->setFormat(SteamApiFormats::VDF);

太棒了!

资源