seregazhuk / favro-api
官方Favro API的PHP封装
Requires
- php: >=5.6
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- mockery/mockery: ^0.9.5
- phpunit/phpunit: ~5.7
This package is auto-updated.
Last update: 2024-09-16 03:57:30 UTC
README
依赖关系
库需要CURL扩展和PHP 5.6或更高版本。
安装
安装此库的推荐方法是使用Composer。 Composer初学者?
composer require seregazhuk/favro-api
快速开始
首先,您需要选择您当前的组织,因为几乎所有的API请求都需要组织ID,即这些调用针对的组织ID。您可以通过以下两种方式设置当前组织:通过名称或ID。
// You may need to amend this path to locate composer's autoloader require './vendor/autoload.php'; use seregazhuk\Favro\Favro; $favro = Favro::create('test@example.com', 'test'); // set your organization $favro->useOrganization("My Organization"); // get all collections $result = $favro->collections->getAll();
您可以获取所有组织,然后通过ID设置它
// get your organizations $result = $favro->organizations->getAll(); $organizations = $result['entities']; // select the first organization $favro->useOrganization($organizations[0]['organizationId']);
速率限制
要获取当前的速率限制信息,请使用getRateInfo()方法
$result = $favro->getRateInfo(); print_r($result); /* [ 'reset' => 2016-09-03T08:17:24.158Z 'remaining' => 42 'limit' => 50 ] */
结果将是包含三个元素的数组
关于速率限制的更多信息可以在官方API文档中找到。
用户
获取所有用户
$result = $favro->users->getAll();
响应将是用户数组
[ "limit": 100, "page": 0, "pages": 1, "requestId": "8cc57b1d8a218fa639c8a0fa", "entities": [ [ "userId": "67973f72db34592d8fc96c48", "name": "Favro user", "email": "user@favro.com" ] ] ]
获取一个用户
参数
$result = $favro->users->getById($userId);
响应返回一个用户对象
[ "userId": "67973f72db34592d8fc96c48", "name": "Favro user", "email": "user@favro.com" ]
组织
获取所有组织
$result = $favro->organizations->getAll();
响应将是组织数组
[ "limit": 100, "page": 0, "pages": 1, "requestId": "8cc57b1d8a218fa639c8a0fa", "entities": [ [ "organizationId" : "67973f72db34592d8fc96c48", "name" : "My organization", "sharedToUsers": [ [ "userId" : "fB6bJr5TbaKLiofns", "role" : "administrator", "joinDate" : "2016-02-10T14:25:58.745Z" ] ] ] ] ]
获取一个组织
参数
$result = $favro->organizations->getById($ogranizationId);
响应返回一个组织对象
[ "organizationId" : "67973f72db34592d8fc96c48", "name" : "My organization", "sharedToUsers": [ [ "userId" : "fB6bJr5TbaKLiofns", "role" : "administrator", "joinDate" : "2016-02-10T14:25:58.745Z" ] ] ]
创建一个组织
参数$attributes
是一个数组,包含以下值
shareToUsers
也是一个具有以下结构的数组
$result = $favro->organizations->create($attributes);
响应将是创建的组织
[ "organizationId" : "67973f72db34592d8fc96c48", "name" : "My organization", "sharedToUsers": [ [ "userId" : "fB6bJr5TbaKLiofns", "role" : "administrator", "joinDate" : "2016-02-10T14:25:58.745Z" ] ] ]
更新一个组织
参数
attributes
是一个具有以下结构的数组
shareToUsers
也是一个具有以下结构的数组
$result = $favro->organizations->update($organizationId, $attributes);
响应将是更新的组织
[ "organizationId" : "67973f72db34592d8fc96c48", "name" : "My organization", "sharedToUsers": [ [ "userId" : "fB6bJr5TbaKLiofns", "role" : "administrator", "joinDate" : "2016-02-10T14:25:58.745Z" ] ] ]
集合
获取所有集合
$result = $favro->collections->getAll();
响应将是集合的分页列表
[ "limit": 100, "page": 0, "pages": 1, "requestId": "8cc57b1d8a218fa639c8a0fa", "entities": [ [ "collectionId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "name": "My collection", "sharedToUsers": [ [ "userId": "ff440e8f358c08513a86c8d6", "role": "admin" ] ], "publicSharing": "users", "background": "purple", "archived": false, "shareWidgetsByDefault": true ] ] ]
获取一个集合
参数
$result = $favro->collections->getById($collectionId);
响应返回一个集合对象
[
"collectionId": "67973f72db34592d8fc96c48",
"organizationId": "zk4CJpg5uozhL4R2W",
"name": "My collection",
"sharedToUsers": [
[
"userId": "ff440e8f358c08513a86c8d6",
"role": "admin"
]
],
"publicSharing": "users",
"background": "purple",
"archived": false,
"shareWidgetsByDefault": true
]
创建一个集合
参数$attributes
是一个数组,包含以下值
shareToUsers
也是一个具有以下结构的数组
$result = $favro->collections->create($attributes);
响应将是创建的集合
[
"collectionId": "67973f72db34592d8fc96c48",
"organizationId": "zk4CJpg5uozhL4R2W",
"name": "My collection",
"sharedToUsers": [
[
"userId": "ff440e8f358c08513a86c8d6",
"role": "admin"
]
],
"publicSharing": "users",
"background": "purple",
"archived": false,
"shareWidgetsByDefault": true
]
更新一个集合
参数
attributes
是一个具有以下结构的数组
shareToUsers
也是一个具有以下结构的数组
$result = $favro->collections->update($collectionId, $attributes);
响应将是更新的集合
[ "collectionId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "name": "My collection", "sharedToUsers": [ [ "userId": "ff440e8f358c08513a86c8d6", "role": "admin" ] ], "publicSharing": "users", "background": "purple", "archived": false, "shareWidgetsByDefault": true ]
删除一个集合
参数
$result = $favro->collections->delete($collectionId);
小部件
获取所有小部件
参数
$result = $favro->widgets->getAll();
响应将是分页的小部件数组
[ "limit": 100, "page": 0, "pages": 1, "requestId": "8cc57b1d8a218fa639c8a0fa", "entities": [ [ "widgetCommonId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "collectionIds": [ "8cc57b1d8a218fa639c8a0fa" ], "name": "This is a widget", "type": "board", "publicSharing": "collection", "color": "purple", "sharedToUsers": [ [ "userId": "tXfWe3MXQqhnnTRtw", "role": "view" ] ] ] ] ]
获取一个小部件
参数
$result = $favro->widgets->getById($widgetCommonId);
响应返回一个小部件对象
[ "widgetCommonId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "collectionIds": [ "8cc57b1d8a218fa639c8a0fa" ], "name": "This is a widget", "type": "board", "publicSharing": "collection", "color": "purple", "sharedToUsers": [ [ "userId": "tXfWe3MXQqhnnTRtw", "role": "view" ] ] ]
参数$attributes
是一个数组,包含以下值
shareToUsers
也是一个具有以下结构的数组
$result = $favro->widgets->create($attributes);
响应将是创建的小部件
[ "widgetCommonId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "collectionIds": [ "8cc57b1d8a218fa639c8a0fa" ], "name": "This is a widget", "type": "board", "publicSharing": "collection", "color": "purple", "sharedToUsers": [ [ "userId": "tXfWe3MXQqhnnTRtw", "role": "view" ] ] ]
更新一个小部件
参数
attributes
是一个具有以下结构的数组
shareToUsers
也是一个具有以下结构的数组
$result = $favro->widgets->update($widgetCommonId, $attributes);
响应将是更新的小部件
[ "widgetCommonId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "collectionIds": [ "8cc57b1d8a218fa639c8a0fa" ], "name": "This is a widget", "type": "board", "publicSharing": "collection", "color": "purple", "sharedToUsers": [ [ "userId": "tXfWe3MXQqhnnTRtw", "role": "view" ] ] ]
删除一个小部件
参数
$favro->widgets->delete($widgetCommonId); // or $favro->widgets->delete($widgetCommonId, $collectionId);
列
获取所有列
参数
$result = $favro->columns->getAll($widgetCommonId);
响应将是分页的列数组
[ "limit": 100, "page": 0, "pages": 1, "requestId": "8cc57b1d8a218fa639c8a0fa", "entities": [ [ "columnId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "widgetCommonId": "ff440e8f358c08513a86c8d6", "name": "This is a column", "position": 0 ] ] ]
获取一列
参数
$result = $favro->columns->getById($columnId);
响应返回一列对象
[ "columnId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "widgetCommonId": "ff440e8f358c08513a86c8d6", "name": "This is a column", "position": 0 ]
创建一列
参数$attributes
是一个数组,包含以下值
$result = $favro->columns->create($attributes);
响应将是创建的列
[ "columnId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "widgetCommonId": "ff440e8f358c08513a86c8d6", "name": "This is a column", "position": 0 ]
更新一列
参数
attributes
是一个具有以下结构的数组
$result = $favro->columns->update($columnId, $attributes);
响应将是更新的列
[ "columnId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "widgetCommonId": "ff440e8f358c08513a86c8d6", "name": "This is a column", "position": 0 ]
删除一列
删除列将同时删除该列中存在的任何卡片。
参数
$result = $favro->columns->delete($columnId);
卡片
获取所有卡片
为了使用此端点,您必须指定todoList或cardCommonId、widgetCommonId或collectionId之一。
参数
$result = $favro->cards->getAll($params);
响应将是卡片的分页数组
[ "limit": 100, "page": 0, "pages": 1, "requestId": "8cc57b1d8a218fa639c8a0fa", "entities": [ [ "cardId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "widgetCommonId": "ff440e8f358c08513a86c8d6", "columnId": "b4d8c6283d9d58f9a39108e7", "name": "This is a card" ] ] ]
获取一个卡片
参数
$result = $favro->cards->get($cardId);
响应返回一个卡片对象
[ "cardId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "widgetCommonId": "ff440e8f358c08513a86c8d6", "columnId": "b4d8c6283d9d58f9a39108e7", "name": "This is a card" ]
创建一个卡片
参数$attributes
是一个数组,包含以下值
$result = $favro->cards->create($attributes);
响应将是创建的卡片
[ "cardId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "widgetCommonId": "ff440e8f358c08513a86c8d6", "columnId": "b4d8c6283d9d58f9a39108e7", "name": "This is a card" ]
更新一个卡片
参数
attributes
是一个具有以下结构的数组
$result = $favro->cards->update($cardId, $attributes);
响应将包含更新后的卡片
[ "cardId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "widgetCommonId": "ff440e8f358c08513a86c8d6", "columnId": "b4d8c6283d9d58f9a39108e7", "name": "This is a card" ]
删除一张卡片
参数
$result = $favro->cards->delete($cardId, $everyWhere);
响应将返回被删除的卡片ID数组
[ "67973f72db34592d8fc96c48", "67973f72db34592d8fc96c49", "67973f72db34592d8fc96c50" ]
标签
获取所有标签
参数
$result = $favro->tags->getAll($params);
响应将包含分页的标签数组
[ "limit": 100, "page": 0, "pages": 1, "requestId": "8cc57b1d8a218fa639c8a0fa", "entities": [ [ "tagId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "name": "My tag", "color": "purple" ] ] ]
获取一个标签
$result = $favro->tags->get($tagId);
响应将返回标签对象
[ "tagId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "name": "My tag", "color": "purple" ]
创建一个标签
参数$attributes
是一个数组,包含以下值
$result = $favro->tags->create($attributes);
响应将包含创建的标签
[ "tagId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "name": "My tag", "color": "purple" ]
更新一个标签
attributes
是一个具有以下结构的数组
$result = $favro->tags->update($tagId, $attributes);
响应将包含更新的标签
[ "tagId": "67973f72db34592d8fc96c48", "organizationId": "zk4CJpg5uozhL4R2W", "name": "My tag", "color": "purple" ]
删除一个标签
参数
$result = $favro->tags->delete($tagId);
任务
获取所有任务
参数
$result = $favro->tasks->getAll($params);
响应将包含分页的卡片任务数组
[ "limit": 100, "page": 0, "pages": 1, "requestId": "8cc57b1d8a218fa639c8a0fa", "entities": [ [ "taskId": "67973f72db34592d8fc96c48", "taskListId": "8cc57b1d8a218fa639c8a0fa", "organizationId": "zk4CJpg5uozhL4R2W", "cardCommonId": "tXfWe3MXQqhnnTRtw", "name": "This is a task", "completed": false, "position": 0 ] ] ]
获取一个任务
$result = $favro->tasks->get($taskId);
响应将返回任务对象
[ "taskId": "67973f72db34592d8fc96c48", "taskListId": "8cc57b1d8a218fa639c8a0fa", "organizationId": "zk4CJpg5uozhL4R2W", "cardCommonId": "tXfWe3MXQqhnnTRtw", "name": "This is a task", "completed": false, "position": 0 ]
创建一个任务
参数$attributes
是一个数组,包含以下值
$result = $favro->tasks->create($attributes);
响应将包含创建的任务
[ "taskId": "67973f72db34592d8fc96c48", "taskListId": "8cc57b1d8a218fa639c8a0fa", "organizationId": "zk4CJpg5uozhL4R2W", "cardCommonId": "tXfWe3MXQqhnnTRtw", "name": "This is a task", "completed": false, "position": 0 ]
更新一个任务
attributes
是一个具有以下结构的数组
$result = $favro->tasks->update($taskId, $attributes);
响应将包含更新的任务
[ "taskId": "67973f72db34592d8fc96c48", "taskListId": "8cc57b1d8a218fa639c8a0fa", "organizationId": "zk4CJpg5uozhL4R2W", "cardCommonId": "tXfWe3MXQqhnnTRtw", "name": "This is a task", "completed": false, "position": 0 ]
删除一个任务
参数
$result = $favro->tasks->delete($taskId);
任务列表
获取所有任务列表
参数
$result = $favro->tasklists->getAll($cardCommonId);
响应将包含分页的卡片任务列表数组
[ "limit": 100, "page": 0, "pages": 1, "requestId": "8cc57b1d8a218fa639c8a0fa", "entities": [ [ "taskListId": "8cc57b1d8a218fa639c8a0fa", "organizationId": "zk4CJpg5uozhL4R2W", "cardCommonId": "tXfWe3MXQqhnnTRtw", "description": "This is a tasklist", "position": 0 ] ] ]
获取一个任务列表
$result = $favro->tasklists->get($taskListId);
响应将返回任务列表对象
[ "taskListId": "8cc57b1d8a218fa639c8a0fa", "organizationId": "zk4CJpg5uozhL4R2W", "cardCommonId": "tXfWe3MXQqhnnTRtw", "description": "This is a tasklist", "position": 0 ]
创建一个任务列表
参数$attributes
是一个数组,包含以下值
$result = $favro->tasklists->create($attributes);
响应将包含创建的任务列表
[ "taskListId": "8cc57b1d8a218fa639c8a0fa", "organizationId": "zk4CJpg5uozhL4R2W", "cardCommonId": "tXfWe3MXQqhnnTRtw", "description": "This is a tasklist", "position": 0 ]
更新一个任务列表
attributes
是一个具有以下结构的数组
$result = $favro->tasklists->update($taskListId, $attributes);
响应将包含更新的任务
[ "taskListId": "8cc57b1d8a218fa639c8a0fa", "organizationId": "zk4CJpg5uozhL4R2W", "cardCommonId": "tXfWe3MXQqhnnTRtw", "description": "This is a tasklist", "position": 0 ]
删除一个任务列表
参数
$result = $favro->tasklists->delete($taskListId);
评论
获取所有评论
参数
$result = $favro->comments->getAll($cardCommonId);
响应将包含分页的评论数组
"limit": 100, "page": 0, "pages": 1, "requestId": "8cc57b1d8a218fa639c8a0fa", "entities": [ [ "commentId": "67973f72db34592d8fc96c48", "cardCommonId": "ff440e8f358c08513a86c8d6", "organizationId": "zk4CJpg5uozhL4R2W", "userId": "b4d8c6283d9d58f9a39108e7", "comment": "This is a comment", "created": "2016-04-18T11:18:42.901Z", "lastUpdated": "2016-04-18T11:18:42.901Z" ] ]
获取一条评论
$result = $favro->comments->get($commentId);
响应将返回评论对象
[ "commentId": "67973f72db34592d8fc96c48", "cardCommonId": "ff440e8f358c08513a86c8d6", "organizationId": "zk4CJpg5uozhL4R2W", "userId": "b4d8c6283d9d58f9a39108e7", "comment": "This is a comment", "created": "2016-04-18T11:18:42.901Z", "lastUpdated": "2016-04-18T11:18:42.901Z" ]
创建一条评论
我该如何感谢你呢?
为什么不给GitHub仓库点个赞呢?我很希望得到关注!
谢谢!