millsoft / aceproject
AceProject API 的 PHP 库。
Requires
- php: >=5.4
- nategood/httpful: ^0.2.20
Requires (Dev)
- paquettg/php-html-parser: ^1.7
- phpunit/phpunit: 5.2.*
This package is auto-updated.
Last update: 2024-09-26 18:12:07 UTC
README
这个库可以帮助你连接到 AceProject.com API。AceProject 是一个商业的在线任务和时间管理应用程序。请注意:我与 AceProject 无关,因此如果您对 API 有任何疑问,请直接联系 AceProject。
版本
当前版本:0.1 alpha,API 级别 01.08.2017
动机
我创建了此库,因为当时没有 AceProject 的 PHP API。我现在使用的 AceProject,使用这个库我可以创建自己的 AceProject 包装器。不是所有功能都可以在 AceProject 中快速使用,使用 API,我可以自动化多个任务:例如添加快速待办事项,分配给自己并开始计时器 - 在 AceProject 中需要执行许多步骤才能完成,使用 API 只需调用一个小脚本。
要求
PHP 5.6 或更高版本,同时也在 php.ini 中启用文件信息模块
安装
要安装此库,请使用 composer
composer require millsoft/aceproject
它将安装所有依赖项,例如 httpful,这是一个用于通过 http 与 API 通信的库。如果您决定使用 composer 的 aceproject 库,一切都已经通过 vendor/autoload.php 为您实例化。如果您更喜欢不使用 composer 使用它,只需 require_once 所需的所有库即可。您始终需要引用 AceProject.php 库,因为所有模块都依赖于它。
用法
要使用此库,您需要一个 aceproject 账户。您不需要 API 密钥,因为您将使用用户名/密码来访问 API。通常您需要调用 API 两次:第一次是登录并获取所谓的“GUID”(一个与用户关联的哈希 ID)。第二次是您想要的 API 调用,例如获取项目列表。
当您调用 AceProject::login() 方法时,GUID 将被接收并存储在本地文件中。此方法将检查磁盘上是否存在 GUID,并使用存储在该文件中的凭据。如果没有 guid 文件,将在库登录 API 后创建一个新的文件。
GUID 文件将存储在 API 文件夹中,其名称如下:.aceproject_mysubdomain,其中“subdomain”是您的子域名 http://mysubdomain.aceproject.com
安全性
🙀 重要:确保您的 .aceproject_*
文件在您的浏览器中不可读!
##示例 在此示例中,我们将登录到 aceproject 并获取可用项目的列表
<?php
require_once("./vendor/autoload.php");
use Millsoft\AceProject\AceProject;
use Millsoft\AceProject\Project;
$ace_username = "myusername or email";
$ace_subdomain = "mysubdomain";
$ace_password = "mypassword";
AceProject::login($ace_username, $ace_password, $ace_subdomain);
$projects = Project::GetProjects();
$errors = AceProject::getLastError();
if (!empty($errors)) {
//some error occured:
print_r($errors);
die();
}
foreach ($projects as $project) {
echo $project->PROJECT_ID . "\t" . $project->PROJECT_NAME . "\n";
}
?>
当您在 shell 中调用脚本时,您将得到类似以下输出
λ php getprojects.php
1 The "Getting Started" Project
2 Testproject
API 提供了更多数据,要查看所有内容,请使用 print_r 或使用您的调试器。请注意:根据您的用户级别,您可能得到更详细或更少的数据。某些 API 调用也仅限于管理员。
其他示例
请查看测试文件夹以查看如何使用 API。注意:并非所有 API 调用都进行了测试。您还可以查看示例文件夹以查看一些示例。
API 文档
您可以在以下网站上找到 AceProject API 文档:http://www.aceproject.com/help/api/
如果您需要有关某些API调用的更多信息,请打开文档中的特定链接,那里有更多详细信息,例如键值对描述(不是全部但很有用)。那里的示例是VB.NET编写的,但您仍然可能觉得它有帮助。
如何使用这个库?
API包含了存储在src/api文件夹中的所有API组。如果您想知道如何创建用户以及有哪些可用字段,请打开Users.php文件并搜索您需要的函数,在这种情况下:SaveUser。
限制
使用API时有一些限制。AceProject认为您过度使用时,有权禁用您对API的访问,所以请谨慎使用。我建议将API获取的数据存储在您的数据库中并缓存,只有在您确实需要并且认为AceProject中的数据已更改时才请求API。如果您想了解具体的限制,请联系AceProject获取更多信息。
这个库仍在开发中,可能缺少一些功能。我没有实现所有的API调用,例如没有提供获取MD5散列的API调用,您可以使用PHP方法代替。
贡献
目前,该项目只由我(Michael Milawski // Millsoft)维护。如果您想帮助或发现一些错误,请不要犹豫,创建一个pull request。或者在这里的GitHub上创建一个新问题。