ajimix/asana-api-php-class

一个无需依赖、轻量级的PHP类,用于包装Asana API。让我们使事情变得更快、更简单! :)

6.5.0 2021-03-02 02:55 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

除非适用法律要求或书面同意,否则在许可证下分发的软件按照“现状”基础分发,不提供任何形式的明示或暗示保证。有关许可证的具体语言规定权限和限制,请参阅许可证。