testmonitor/asana-client

TestMonitor Asana 客户端。

v2.1.0 2024-05-14 08:46 UTC

This package is auto-updated.

Last update: 2024-09-15 07:27:18 UTC


README

Latest Stable Version CircleCI StyleCI codecov License

此软件包提供了一个非常基本、方便且统一的包装器,用于官方Asana PHP客户端库

目录

安装

要安装客户端,您需要使用composer要求该软件包

$ composer require testmonitor/asana-client

使用composer的自动加载

require __DIR__.'/../vendor/autoload.php';

现在您已经设置好了!

使用

此客户端仅支持OAuth身份验证。您需要Asana应用程序才能继续。如果您还没有这样做,请阅读Asana身份验证文档以了解如何创建应用程序。

当您的Asana应用程序上线运行时,请从OAuth授权开始

$oauth = [
    'clientId' => '12345',
    'clientSecret' => 'abcdef',
    'redirectUrl' => 'https://redirect.myapp.com/',
];

$asana = new \TestMonitor\Asana\Client($oauth);

header('Location: ' . $asana->authorizationUrl('state'));
exit();

这将把用户重定向到一个请求确认您的应用程序获取Asana访问权限的页面。请确保您的redirectUrl指向您的应用程序。此URL应指向以下代码

$oauth = [
    'clientId' => '12345',
    'clientSecret' => 'abcdef',
    'redirectUrl' => 'https://redirect.myapp.com/',
];

$asana = new \TestMonitor\Asana\Client($oauth);

$token = $asana->fetchToken($_REQUEST['code']);

如果一切顺利,您应该有一个访问令牌(通过Token对象可用)。它将有效期为一小时。之后,您将不得不刷新令牌以重新获得访问权限

$oauth = ['clientId' => '12345', 'clientSecret' => 'abcdef', 'redirectUrl' => 'https://redirect.myapp.com/'];
$token = new \TestMonitor\Asana\Token('eyJ0...', '0/34ccc...', 1574600877); // the token you got last time

$asana = new \TestMonitor\Asana\Client($oauth, $token);

if ($token->expired()) {
    $newToken = $asana->refreshToken();
}

新的令牌将再次有效一小时。

示例

获取Asana工作区的列表

$workspaces = $asana->workspaces();

或创建一个任务,例如(使用gid为12345的示例项目)

$task = $asana->createTask(new \TestMonitor\Asana\Resources\Task([
    'completed' => false,
    'name' => 'Name of the task',
    'notes' => 'Some notes',
]), '12345');

测试

该软件包包含集成测试。您可以使用PHPUnit运行它们。

$ vendor/bin/phpunit

变更日志

有关更多信息,请参阅变更日志

贡献

有关贡献的详细信息,请参阅贡献指南

致谢

许可证

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