vasyaxy/trello-php

PHP 对 Trello API 的封装

资助包维护!
vasyaxy

v0.5 2022-12-22 23:53 UTC

This package is auto-updated.

Last update: 2024-09-06 04:11:53 UTC


README

Latest Version Software License Total Downloads

用于消费 Trello API 的 PHP 客户端。

安装

通过 Composer

$ composer require vasyaxy/trello-php

使用方法

本指南将帮助您了解如何配置客户端、验证用户并获取访问令牌以及代表他们访问 API

完整的客户端文档可以在API 指南中找到。

在继续之前,请确保您已保护了您的 Trello API 密钥。有关此信息,请参阅实用指南

本项目包含一个基本示例。您可以通过运行此示例来测试您的应用程序详细信息。打开示例文件,包含您的 keysecret,然后运行 php -S localhost:8000 -t example,在您喜欢的浏览器中访问 https://:8000

配置客户端

为了成功运行,Trello 客户端需要一些配置设置。

在创建客户端时设置配置

$client = new vasyaxy\Services\Trello\Client(array(
    'callbackUrl' => 'http://your.domain/oauth-callback-url',
    'domain' => 'https://trello.com',
    'expiration' => '3days',
    'key' => 'my-application-key',
    'name' => 'My sweet trello enabled app',
    'scope' => 'read,write',
    'secret' => 'my-application-secret',
    'token'  => 'abcdefghijklmnopqrstuvwxyz',
    'version' => '1',
    'proxy' => 'tcp://:8125',
));

创建客户端后设置多个配置

$client = new vasyaxy\Services\Trello\Client(array(
    'key' => 'my-application-key',
    'name' => 'My sweet trello enabled app',
));

$config = array(
    'callbackUrl' => 'http://your.domain/oauth-callback-url',
    'expiration' => '3days',
    'scope' => 'read,write',
);

$client->addConfig($config);

创建客户端后设置单个配置

$client = new vasyaxy\Services\Trello\Client(array(
    'key' => 'my-application-key',
    'name' => 'My sweet trello enabled app',
));

$client->addConfig('token', 'abcdefghijklmnopqrstuvwxyz');

验证用户并存储访问令牌

Trello 客户端可以协助您引导用户完成 OAuth 授权流程,并为您的应用程序提供访问令牌凭据。

本包使用 The League 的 OAuth1 Trello 客户端 来提供此帮助。

创建基本客户端

$client = new vasyaxy\Services\Trello\Client(array(
    'key' => 'my-application-key',
    'secret' => 'my-application-secret',
));

添加您应用程序所需的 OAuth 设置

$config = array(
    'name' => 'My sweet trello enabled app',
    'callbackUrl' => 'http://your.domain/oauth-callback-url',
    'expiration' => '3days',
    'scope' => 'read,write',
);

$client->addConfig($config);

获取授权 URL,然后重定向用户

$authorizationUrl = $client->getAuthorizationUrl();

header('Location: ' . $authorizationUrl);

交换授权令牌和验证器以获取访问令牌

用户批准或拒绝访问您的应用程序后,他们将被重定向到您提供的回调 URL。如果用户批准访问,URL 将包含查询字符串参数中的 oauth_tokenoauth_verifier

$token = $_GET['oauth_token'];
$verifier = $_GET['oauth_verifier'];

$credentials = $client->getAccessToken($token, $verifier);
$accessToken = $credentials->getIdentifier();

如果成功,$credentials 将是一个 TokenCredentials 的实例。您可以将标识符存储在其中,并用于代表该用户进行身份验证请求。

使用访问令牌进行请求

$client->addConfig('token', $accessToken);

$user = $client->getCurrentUser();

使用访问令牌访问 API

获取属于您的用户的所有实体的清单

$client = new vasyaxy\Services\Trello\Client(array(
    'key' => 'my-application-key',
    'token' => 'your-users-access-token',
));

$boards = $client->getCurrentUserBoards();
$cards = $client->getCurrentUserCards();
$organizations = $client->getCurrentUserOrganizations();

API 指南中大部分方法都需要实体 ID 才能进行操作。

处理异常

在处理使用客户端向 Trello 发送请求时产生的异常时,将抛出 vasyaxy\Services\Trello\Exceptions\Exception。此异常将包括来自底层 Http 请求/响应问题的信息,包括来自 Trello 的响应体。

try {
    $board = $client->getBoard($boardId);
} catch (vasyaxy\Services\Trello\Exceptions\Exception $e) {
    $code = $e->getCode(); // Http status code from response
    $reason = $e->getMessage(); // Http status reason phrase
    $error = $e->getPrevious(); // GuzzleHttp\Exception\RequestException from http client
    $body = $e->getResponseBody(); // stdClass response body from http client
}

测试

$ ./vendor/bin/phpunit

贡献

有关详细信息,请参阅 CONTRIBUTING。您可以看到当前的 PROGRESS

致谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件