vdhicts/hihaho-api-client

HiHaHo API 客户端

v5.0.0 2024-03-17 07:07 UTC

This package is auto-updated.

Last update: 2024-09-17 08:23:08 UTC


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 解决方案。