概述

乐易互联开放API提供了一系列RESTful接口,允许开发者将乐易互联平台的功能集成到自己的应用程序中。通过API,您可以创建和管理项目、任务、文档,以及获取数据分析等功能。

API基础信息

项目 说明
API基础URL https://api.leye.com/v1
API版本 v1.0.0
通信协议 HTTPS
请求方法 GET, POST, PUT, DELETE
数据格式 JSON
字符编码 UTF-8
API文档版本 2023-12-01

API变更政策

我们致力于保持API的稳定性和向后兼容性。API变更政策如下:

  • 主版本号变更(如v1 -> v2)表示不兼容的API变更
  • 次版本号变更(如v1.0 -> v1.1)表示向后兼容的功能新增
  • 修订号变更(如v1.0.0 -> v1.0.1)表示向后兼容的问题修复
  • 所有重大变更将提前3个月通过开发者社区和邮件通知

建议在生产环境中使用固定版本的API,并关注我们的更新日志以获取最新变更信息。

认证与授权

乐易互联API使用OAuth 2.0和API密钥两种认证方式,确保API调用的安全性。

OAuth 2.0

适用于第三方应用授权访问用户数据,支持授权码、密码等多种授权流程。

API密钥

适用于服务器间通信,简单易用,适合后端集成场景。

OAuth 2.0认证

OAuth 2.0是一种开放标准,允许第三方应用在不获取用户凭证的情况下访问用户资源。乐易互联API支持以下OAuth 2.0授权流程:

  • 授权码流程:适用于有服务器的应用
  • 密码流程:适用于受信任的应用
  • 客户端凭证流程:适用于服务器间通信

获取访问令牌

使用授权码流程获取访问令牌的步骤:

  1. 引导用户到授权页面:
    https://auth.leye.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code&scope=read write
    URL
  2. 用户授权后,重定向到您的redirect_uri,并附带授权码
  3. 使用授权码换取访问令牌:
    POST https://auth.leye.com/oauth/token
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=authorization_code&code=AUTHORIZATION_CODE&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&redirect_uri=YOUR_REDIRECT_URI
    HTTP
  4. 成功响应:
    {
      "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
      "token_type": "bearer",
      "expires_in": 3600,
      "refresh_token": "def502009f8a5d1..."
    }
    JSON

使用访问令牌

获取访问令牌后,在API请求中使用Bearer认证:

GET https://api.leye.com/v1/projects
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
HTTP

API密钥认证

API密钥认证是一种简单的认证方式,适用于服务器间通信。您可以在开发者控制台创建和管理API密钥。

使用API密钥

在API请求中添加X-API-Key头:

GET https://api.leye.com/v1/projects
X-API-Key: YOUR_API_KEY
HTTP

API密钥相当于密码,请妥善保管,不要在客户端代码中暴露API密钥。如怀疑密钥泄露,请立即在开发者控制台吊销并重新生成。

令牌管理

访问令牌具有时效性,过期后需要重新获取。为了避免频繁引导用户授权,可以使用刷新令牌获取新的访问令牌。

刷新访问令牌

当访问令牌过期时,使用刷新令牌获取新的访问令牌:

POST https://auth.leye.com/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token&refresh_token=REFRESH_TOKEN&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET
HTTP

吊销令牌

当用户登出或需要撤销授权时,可以吊销访问令牌和刷新令牌:

POST https://auth.leye.com/oauth/revoke
Content-Type: application/x-www-form-urlencoded

token=TOKEN&token_type_hint=access_token&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET
HTTP

项目API

项目API允许您创建、查询、更新和删除项目。

GET /projects
获取项目列表,支持分页和筛选

请求参数

参数名 位置 类型 是否必须 描述
page query integer 页码,默认为1
per_page query integer 每页条数,默认为20,最大为100
status query string 项目状态,可选值:active, archived, all
sort_by query string 排序字段,可选值:created_at, updated_at, name
order query string 排序方向,可选值:asc, desc,默认为desc

请求示例

GET https://api.leye.com/v1/projects?page=1&per_page=10&status=active&sort_by=created_at&order=desc
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
HTTP

响应示例

{
  "data": [
    {
      "id": "proj_123456",
      "name": "企业官网重构",
      "description": "重构企业官网,提升用户体验",
      "status": "active",
      "created_at": "2023-11-01T08:30:00Z",
      "updated_at": "2023-11-15T14:20:00Z",
      "owner_id": "usr_789012",
      "member_count": 8,
      "task_count": 45,
      "completed_task_count": 15,
      "start_date": "2023-11-01",
      "end_date": "2024-01-15"
    },
    // 更多项目...
  ],
  "pagination": {
    "page": 1,
    "per_page": 10,
    "total_items": 42,
    "total_pages": 5,
    "has_next": true,
    "has_prev": false
  }
}
JSON

响应状态码

状态码 描述
200 成功
401 未授权,令牌无效或过期
403 禁止访问,没有权限
429 请求过于频繁,请稍后再试