morningtrain/toggl-api

Toggl API 的完整原生 PHP 封装

v2.0.0-alpha.3 2023-11-02 08:58 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);