qstart-soft / steam-api
用于操作Steam Web API的PHP库
v1.0.1
2022-10-16 00:04 UTC
Requires
- php: >=8.1
- guzzlehttp/psr7: ^2.4
- psr/http-client: ^1.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.5
- phpunit/phpunit: ^9.5
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
入门
提交请求有两种方式。
- 使用PSR-18客户端实例
- 自己使用你喜欢的库发送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);
太棒了!