vdhicts / hihaho-api-client
HiHaHo API 客户端
Requires
- php: ^7.4|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.0
- illuminate/http: ^8.74|^9.0|^10.0|^11.0
- illuminate/support: ^8.22|^9.0|^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.14
- phpstan/phpstan: ^1.2
- phpunit/phpunit: ^10.0
README
简单的 HiHaHo REST API 客户端。
并非所有端点都已实现,如有需要,请随时添加或创建问题以获取端点实现帮助。客户端也可以扩展。
要求
此包需要至少 PHP 7.4。
安装
此包可用于任何 PHP 项目或框架。
您可以通过 composer 安装此包
composer require vdhicts/hihaho-api-client
用法
此包仅是使用 HiHaHo API 的简单客户端。有关请求的更多信息,请参阅 API 文档。
入门
// Initialize the configuration $configuration = new \Vdhicts\HiHaHo\Configuration( .. ); // Initialize the API $api = new \Vdhicts\HiHaHo\HiHaHo($configuration); // Get all videos $response = $api->allVideos(); if ($response->ok()) { $response->json('data'); }
身份验证
此包将自动检索访问令牌,因此您不需要存储访问令牌。如果您无论如何想存储访问/刷新令牌,您可以在 Configuration
类中使用:$configuration->getAccessToken()
或 $configuration->getRefreshToken()
。
扩展客户端
您可以扩展客户端并实现自己的端点
class Video extends HiHaHo { public function updateVideo(int $videoId): Response { return $this ->withToken($this->getAccessToken()) ->put(sprintf('v2/video/%d', $videoId), [ 'status' => 0, ]); } }
错误处理
将始终返回一个 Response
对象。请参阅 Http 客户端的 错误处理。
if ($response->failed()) { var_dump($response->serverError()); }
Laravel
此包可以轻松地用于任何 Laravel 应用程序。我建议将您的凭据添加到项目的 .env
文件中
HIHAHO_CLIENT_ID=clientid
HIHAHO_CLIENT_SECRET=secret
HIHAHO_USERNAME=username
HIHAHO_PASSWORD=password
然后创建一个配置文件 hihaho.php
在 /config
<?php return [ 'client_id' => env('HIHAHO_CLIENT_ID'), 'client_secret' => env('HIHAHO_CLIENT_SECRET'), 'username' => env('HIHAHO_USERNAME'), 'password' => env('HIHAHO_PASSWORD'), ];
并使用这些文件来构建配置
$configuration = new Configuration( config('hihaho.client_id'), config('hihaho.client_secret'), config('hihaho.username'), config('hihaho.password'), );
将来我可能会制作一个针对 Laravel 的特定包,它将使用此包。
测试
单元测试可在 tests
文件夹中找到。运行方法:
composer test
当您需要生成将在 build/report
文件夹中的代码覆盖率报告时。运行方法:
composer test-coverage
贡献
欢迎任何贡献,但应满足 PSR-12 标准,并请为每个功能/错误创建一个 pull request。作为交换,您将在此页面上获得贡献者认可。
安全性
如果您在此或其他 Vdhicts 包中发现任何安全相关的问题,请通过电子邮件 info@vdhicts.nl 而不是使用问题跟踪器。
支持
此包不是 HiHaHo 的官方包,因此他们可能不会提供对此包的支持。如果您遇到此客户端的问题或对此有疑问,请随时在 GitHub 上创建问题。
许可证
此包是开源软件,许可协议为 MIT 许可证。
关于 Vdhicts
Vdhicts 是我的个人公司名称,我在其中作为自由职业者工作。Vdhicts 为企业和教育机构开发和实施 IT 解决方案。