dant89 / smite-api-php-client
Smite API 的轻量级 PHP 客户端
Requires
- symfony/http-client: ^5.0
Requires (Dev)
- phpmd/phpmd: ^2.7
- phpunit/phpunit: ^8.4
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-07 00:42:45 UTC
README
Smite API PHP 客户端
Smite 开发者 API 的轻量级 PHP 客户端。
安装
要安装,请在项目的根目录中运行 composer require dant89/smite-api-php-client,或将 dant89/smite-api-php-client 添加到您的 composer.json 文件中。
"require": { "dant89/smite-api-php-client": REPLACE_WITH_VERSION }
Smite 开发者 API 文档
要了解更多关于 Smite 开发者 API 的功能,请阅读官方文档。
Smite 开发者 API 访问
Smite 开发者 API 需要您首先完成此表格以申请凭据。
如果您的申请被接受,您将收到用于访问 API 的自定义凭据。
- Smite
用法
在创建此客户端实例时使用您提供的 DevId 和 AuthKey。
use Dant89\SmiteApiClient\Client; // Create base client $smiteClient = new Client(SMITE_DEV_ID, SMITE_AUTH_KEY);
要开始使用 API,您首先需要建立有效的会话。为此,您将启动一个会话(通过 createsession 方法)并收到一个 SessionId。会话用于身份验证、安全、监控和节流。一旦您获得一个 SessionId,您就可以将其传递给其他方法进行身份验证。每个会话只持续 15 分钟,之后必须重新创建。
- Smite
// Get a session_id from a signed authentication request $authClient = $smiteClient->getHttpClient('auth'); $timestamp = date('omdHis'); $response = $authClient->createSession($timestamp); // Check for valid response status if ($response->getStatus() === 200) { $sessionId = $response->getContent()['session_id']; }
现在您有了 $sessionId,您可以自由地调用其他客户端方法。此客户端负责对请求签名,因此您不必担心这一点,现在可以调用其他方法,例如,要获取团队(联盟)的玩家,您将使用
$clanId = 123; $teamClient = $smiteClient->getHttpClient('team'); $response = $teamClient->getTeamPlayers($clanId, $sessionId, $timestamp); $teamPlayers = []; if ($response->getStatus() === 200) { $teamPlayers = $response->getContent(); }
速率限制/缓存建议
我建议您实施对 $sessionId 和/或返回数据的某种缓存,因为 Smite 开发者 API 有速率限制,所以缓存可以帮助您避免超过这些限制
默认限制
concurrent_sessions: 50
sessions_per_day: 500
session_time_limit: 15 分钟
request_day_limit: 7500
助手
languageCode 值
1英语2德语3法语5中文7西班牙语9西班牙语(拉丁美洲)10葡萄牙语11俄语12波兰语13土耳其语
测试
您可以通过运行此客户端中包含的 PHPUnit 测试来测试您的 API 密钥。
目前没有速率限制或缓存,所以一次运行将使用您每日的 7 个会话(这并不理想)。
PHPUnit 测试
- 将您的
devId和authKey添加到tests/Helper/ClientTestCase.php php vendor/phpunit/phpunit/phpunit tests
PHP CodeSniffer
php vendor/squizlabs/php_codesniffer/bin/phpcs src --standard=PSR2 --severity=5 --extensions=php
PHP MessDetector
php vendor/phpmd/phpmd/src/bin/phpmd src text controversial,unusedcode,design
贡献
欢迎对客户端做出贡献,要贡献请
- 从此仓库分叉
- 创建您的功能分支
- 提交您的更改
- 将更改推送到分支
- 创建新的拉取请求
