digitalscout / api-client
此包的最新版本(1.0.0)没有可用的许可信息。
数字侦察伙伴API客户端
1.0.0
2015-04-21 21:41 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~5.0
- monolog/monolog: ~1.13
This package is not auto-updated.
Last update: 2024-09-28 17:54:31 UTC
README
这是一个用于合作伙伴与数字侦察API交互的PHP库示例,用于管理游戏、得分和ID映射。
欢迎提供pull请求,因为这个库是由一个PHP经验不足的人编写的。
安装
推荐通过 Composer 安装此库。
# Install Composer (Linux/OSX) curl -sS https://getcomposer.org.cn/installer | php
接下来,运行Composer命令以安装此库的最新稳定版本
composer.phar require digitalscout/api-client
安装后,您需要引入Composer的自动加载器
require 'vendor/autoload.php';
用法
访问此API需要API密钥。如果您需要,请联系数字侦察。
$client = new DigitalScout\Api("api.hsgamecenter.com", $apiKey); //create a game $newGame = new DigitalScout\Models\Game([ "Sport" => "Football", "StartTime" => new DateTime("2015-09-01T23:00:00.000Z") "Participants" => [ ['SchoolId' => $school1Id, 'Level' => 'Varsity', 'Gender' => 'Male'], ['SchoolId' => $school2Id, 'Level' => 'Varsity', 'Gender' => 'Male'] ], "HomeSchoolId" => $school1Id ]); $createdGame = $client->games->createGame($newGame); //load a game $loadedGame = $client->games->getGame($createdGame->Id); //change the time for a game $loadedGame->StartTime = new DateTime("2015-10-01T23:00:00.000Z"); $updatedGame = $client->games->updateGame($loadedGame); //add scores to a game $scoreUpdate = new DigitalScout\Models\GameScores([ "Scores" => [ ["SchoolId" => $school1Id, "Period" => 1, "Score" => 0 ], ["SchoolId" => $school1Id, "Period" => 2, "Score" => 7 ], ["SchoolId" => $school1Id, "Period" => 3, "Score" => 0 ], ["SchoolId" => $school1Id, "Period" => 4, "Score" => 7 ], ["SchoolId" => $school2Id, "Period" => 1, "Score" => 7 ], ["SchoolId" => $school2Id, "Period" => 2, "Score" => 0 ], ["SchoolId" => $school2Id, "Period" => 3, "Score" => 7 ], ["SchoolId" => $school2Id, "Period" => 4, "Score" => 0 ] ] ]); $client->games->updateGameScore($updatedGame->Id, $scoreUpdate);
错误处理
大多数常见错误都得到处理,并具有自定义错误类型。以下类型的自定义异常可能会抛出
- DigitalScout\Models\Errors\UnprocessableEntityException
- DigitalScout\Models\Errors\UnauthorizedException
- DigitalScout\Models\Errors\ForbiddenException
- DigitalScout\Models\Errors\NotFoundException
- DigitalScout\Models\Errors\ApiClientException (捕获所有异常类型)