testmonitor / asana-client
TestMonitor Asana 客户端。
v2.1.0
2024-05-14 08:46 UTC
Requires
- php: ^8.1
- ext-fileinfo: *
- asana/asana: ^1.0.6
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.2
- mockery/mockery: ~1.5
- phpunit/phpunit: ^10.0
- scrutinizer/ocular: ^1.9
- squizlabs/php_codesniffer: ^3.7
README
此软件包提供了一个非常基本、方便且统一的包装器,用于官方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
变更日志
有关更多信息,请参阅变更日志。
贡献
有关贡献的详细信息,请参阅贡献指南。
致谢
- Thijs Kok - 首席开发者 - ThijsKok
- Stephan Grootveld - 开发者 - Stefanius
- Frank Keulen - 开发者 - FrankIsGek
- Muriel Nooder - 开发者 - ThaNoodle
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证。