morningtrain / toggl-api
Toggl API 的完整原生 PHP 封装
Requires
- php: ^7.4|^8.0
- guzzlehttp/guzzle: ^6.3|^7.0
Requires (Dev)
- escapestudios/symfony2-coding-standard: 2.*
- pestphp/pest: ^1.23
- squizlabs/php_codesniffer: 2.*
- vlucas/phpdotenv: ^5.5
This package is auto-updated.
Last update: 2024-08-31 00:32:08 UTC
README
PHP 类用于连接 Toggl API。
该代码是在早期 http://morningtrain.dk 编写的。
安装
可以使用 composer 安装。
composer require morningtrain/toggl-api
依赖项
它依赖于 guzzlehttp/guzzle 版本 6。
可以使用以下 composer 脚本来添加 Guzzle(或在通过 composer 安装时自动添加):
{
"require": {
"guzzlehttp/guzzle": "^6.0"
}
}
变更日志
14/06/2021
- 为一些未记录的项目组端点添加了方法。这将使您能够从私有项目中分配、更新或删除组。
30/06/17
- 将函数名称从 getDashboadForWorkspace 更改为 getDashboardForWorkspace,如果您的系统使用 getDashboadForWorkspace,请将其更改为 getDashboardForWorkspace。
示例
有关 Toggl API 中所需的不同对象的详细信息,请参阅他们的文档: https://github.com/toggl/toggl_api_docs
Toggl API
初始化
$toggl = new MorningTrain\TogglApi\TogglApi('my-api-token');
获取可用端点
$toggl->getAvailableEndpoints();
客户端
https://github.com/toggl/toggl_api_docs/blob/master/chapters/clients.md
创建客户端
$toggl->createClient($clientObject);
更新客户端
$toggl->updateClient($clientId, $clientObject);
删除客户端
$toggl->deleteClient($clientId);
获取所有客户端
$toggl->getClients();
获取客户端的所有项目
$toggl->getClientProjects($clientId);
获取客户端的所有活动项目
$toggl->getActiveClientProjects($clientId);
获取客户端的所有非活动项目
$toggl->getInactiveClientProjects($clientId);
获取客户端的所有活动和非活动项目
$toggl->getAllClientProjects($clientId);
通过 ID 获取客户端
$toggl->getClientById($clientId);
项目用户
https://github.com/toggl/toggl_api_docs/blob/master/chapters/project_users.md
创建项目用户
$toggl->createProjectUser($projectUserObject);
创建项目用户
$toggl->createProjectUsers($projectUserObject);
更新项目用户
$toggl->updateProjectUser($projectUserId, $projectUserObject);
更新项目用户
$toggl->updateProjectUsers($projectUserIds, $projectUserObject);
创建项目用户
$toggl->deleteProjectUser($projectUserId);
创建项目用户
$toggl->deleteProjectUsers($projectUserIds);
项目
https://github.com/toggl/toggl_api_docs/blob/master/chapters/projects.md
创建项目
$toggl->createProject($projectObject);
更新项目
$toggl->updateProject($projectId, $projectObject);
删除项目
$toggl->deleteProject($projectId);
删除项目
$toggl->deleteProjects($projectIds);
获取项目用户
$toggl->getProjectUserRelations($projectId);
获取项目任务
$toggl->getProjectTasks($projectId);
通过 ID 获取项目
$toggl->getProject($projectId);
仪表板
https://github.com/toggl/toggl_api_docs/blob/master/chapters/dashboard.md
获取工作空间仪表板
$toggl->getDashboardForWorkspace($workspaceId);
用户
https://github.com/toggl/toggl_api_docs/blob/master/chapters/users.md
获取我
$related 默认为 false。将其设置为 true,以获取相关数据
$toggl->getMe($related);
更新我
$toggl->updateMe($userObject);
注册
$toggl->signup($userObject);
重置 API 令牌
$toggl->resetApiToken();
工作空间
https://github.com/toggl/toggl_api_docs/blob/master/chapters/workspaces.md
获取工作空间
$toggl->getWorkspaces();
通过 ID 获取工作空间
$toggl->getWorkspace($workspaceId);
更新工作空间
$toggl->updateWorkspace($workspaceId, $workspaceObject);
获取工作空间用户
$toggl->getWorkspaceUsers($workspaceId);
获取工作空间客户端
$toggl->getWorkspaceClients($workspaceId);
获取工作空间项目
$toggl->getWorkspaceProjects($workspaceId);
获取工作空间任务
$toggl->getWorkspaceTasks($workspaceId);
获取工作空间标签
$toggl->getWorkspaceTags($workspaceId);
工作空间用户
https://github.com/toggl/toggl_api_docs/blob/master/chapters/workspace_users.md
邀请用户到工作空间
$toggl->inviteUsersToWorkspace($workspaceId, $emails);
更新工作空间用户
$toggl->updateWorkspaceUser($workspaceUserId, $userObject);
删除工作空间用户
$toggl->deleteWorkspaceUser($workspaceUserId);
获取工作空间用户
$toggl->getWorkspaceUserRelations($workspaceId);
标签
https://github.com/toggl/toggl_api_docs/blob/master/chapters/tags.md
创建标签
$toggl->createTag($tagObject);
更新标签
$toggl->updateTag($tagId, $tagObject);
删除标签
$toggl->deleteTag($tagId);
任务
https://github.com/toggl/toggl_api_docs/blob/master/chapters/tags.md
获取任务
$toggl->getTask($taskId);
创建任务
$toggl->createTask($taskObject);
更新任务
$toggl->updateTask($taskId, $taskObject);
更新任务
$toggl->updateTasks($taskId, $taskObject);
删除任务
$toggl->deleteTask($taskId);
删除任务
$toggl->deleteTasks($taskIds);
时间条目
https://github.com/toggl/toggl_api_docs/blob/master/chapters/time_entries.md
创建时间条目
$toggl->createTimeEntry($timeEntryObject);
开始时间条目
$toggl->startTimeEntry($timeEntryObject);
停止时间条目
$toggl->stopTimeEntry($timeEntryIds);
获取时间条目
$toggl->getTimeEntry($timeEntryIds);
获取运行中的时间条目
$toggl->getRunningTimeEntry();
获取时间条目
$toggl->getTimeEntries();
获取时间条目范围
$toggl->getTimeEntriesInRange($start, $end);
更新时间条目的标签
$toggl->updateTagsForTimeEntries($timeEntryIds, $timeEntryObject);
更新时间条目
$toggl->updateTimeEntry($timeEntryIds, $timeEntryObject);
删除时间条目
$toggl->deleteTimeEntry($timeEntryIds);
报告API
https://github.com/toggl/toggl_api_docs/blob/master/reports.md
初始化
$toggl = new MorningTrain\TogglApi\TogglReportsApi('my-api-token');
获取可用端点
$toggl->getAvailableEndpoints();
方法
获取项目报告
$toggl->getProjectReport($query);
获取摘要报告
$toggl->getSummaryReport($query);
获取详细报告
$toggl->getDetailsReport($query);
获取周报告
$toggl->getWeeklyReport($query);