ajimix / asana-api-php-class
一个无需依赖、轻量级的PHP类,用于包装Asana API。让我们使事情变得更快、更简单! :)
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-19 09:26:27 UTC
README
一个无需依赖、轻量级的PHP类,用于包装Asana API。
让我们使事情变得更快、更简单! :)
安装
选择你喜欢的版本
- 从Github下载PHP类。
- 或者使用 Packagist PHP包管理器。
最后需要asana.php文件。
使用类
首先声明asana类
$asana = new Asana([ 'personalAccessToken' => 'GET_IT_FROM_ASANA' ]);
可选地,如果您使用OAuth,可以传递accessToken而不是personalAccessToken。有关更多信息,请参阅下方的使用Asana OAuth令牌。
创建任务
$asana->createTask([ 'workspace' => '176825', // Workspace ID 'name' => 'Hello World!', // Name of task 'assignee' => 'bigboss@bigcompany.com', // Assign task to... 'followers' => ['3714136', '5900783'] // We add some followers to the task... (this time by ID) ]);
为您自己以外的分配者创建任务将默认将该任务标记为私有。这导致任务无法通过API再进行修改。有关可以直接传递给createTask
的Task更多字段,请参阅API参考。
将任务添加到项目中
$asana->addProjectToTask('THIS_TASK_ID_PLEASE', 'TO_THIS_COOL_PROJECT_ID');
在任务上评论
$asana->commentOnTask('MY_BEAUTIFUL_TASK_ID', 'Please please! Don\'t assign me this task!');
获取所有工作区中的项目
$asana->getProjects();
更新项目信息
$asana->updateProject('COOL_PROJECT_ID', [ 'name' => 'This is a new cool project!', 'notes' => 'At first, it wasn\'t cool, but after this name change, it is!' ]);
更多功能
有很多方法可以几乎使用Asana做任何事情。
查看示例文件夹中的示例,阅读类文件上的注释了解类魔法,如果想要成为大师,请阅读Asana API文档。
如果方法返回了一些数据,您可以通过调用来检索它。
$asana->getData();
如果您缺少某些功能,请提交一个pull request,它将尽快合并。
享受吧 ;D
使用Asana OAuth令牌
要使用此API,您也可以在Asana上创建一个应用以获取oAuth访问令牌,然后包含该类
require_once('asana-oauth.php');
将oAuth类声明为
$asanaAuth = new AsanaAuth('YOUR_APP_ID', 'YOUR_APP_SECRET', 'CALLBACK_URL'); $url = $asanaAuth->getAuthorizeUrl();
其中YOUR_APP_ID、YOUR_APP_SECRET和CALLBACK_URL是从Asana上您的应用详情中获得的。现在,将浏览器重定向到由$url持有的结果。用户将被要求登录并接受您的应用,然后浏览器将返回到CALLBACK_URL,该URL应处理结果
$code = $_GET['code']; $asanaAuth->getAccessToken($code);
您将收到一个包含访问令牌和刷新令牌的对象。令牌一小时后过期,因此您可以通过以下方式刷新它
$asanaAuth->refreshAccessToken('ACCESS_TOKEN');
有关如何使oauth生效的更详细说明,请检查examples/oauth.php中的示例
作者
Twitter: @ajimix
GitHub: github.com/ajimix
贡献者: 查看贡献者
版权和许可
版权 2022 Ajimix
根据Apache许可证2.0版本(“许可证”);除非您遵守许可证,否则您不得使用此作品。您可以在LICENSE文件中或从以下网址获得许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按照“现状”基础分发,不提供任何形式的明示或暗示保证。有关许可证的具体语言规定权限和限制,请参阅许可证。