微哨OAUTH2.0 API说明

basehost :172.16.56.112:3005 (开发测试地址,https)


访问授权

注册client_id(内部开放)

参数说明

参数名称 必填 说明 备注
app_key 建议5-20位; 开发者使用api唯一标识
app_secret 长度至少8位; 获取accesstoken秘钥
name 应用程序名称
scope 字符串格式以逗号分隔的 后续通过该字段分配访问权限
clienttype 学校唯一标识code或domain,后续云应用如:BPM无需填写
redirecturis X 网页授权时需要使用的回调Host,例如:https://localhost:3001 无需输入具体页面
granttypes X 如不填写,默认支持 authorization_code、Implicit、client

scope使用注意: base_api(默认值)可以访问基础api,支持网页授权,MS端创建的应用为all 可以所有开放api,manager(管理员)

例子:

https://basehost/apikey/register_client

postdata:

{
  "app_key":"your app key",
  "app_secret": "your app secret",
  "name":"app name",
  "scope":"qwe,aa"
  "clienttype":"ruijie_com",
  "redirecturis":"https://localhost:3001",
  "granttypes":"authorization_code,password"
  }

返回结果

正确返回

{
  "code": "200",
  "errno": "保存成功",
  "sqlState": "",
  "index": 0
  }

错误返回

{
  "code": "500",
  "errno": "保存失败",
  "sqlState": "",
  "index": 0
  }

更新client_id(内部开放)

参数说明

参数名称 必填 说明 备注
app_key 建议5-20位; 开发者使用api唯一标识
app_secret 长度至少8位; 获取accesstoken秘钥
name 应用程序名称
scope 字符串格式以逗号分隔的 后续通过该字段分配访问权限
clienttype 学校唯一标识code或domain,后续云应用如:BPM无需填写
redirecturis X 网页授权时需要使用的回调Host,例如:https://localhost:3001 无需输入具体页面
granttypes X 如不填写,默认支持 authorization_code、Implicit、client

scope使用注意: base_api(默认值)可以访问基础api,支持网页授权,MS端创建的应用为all 可以所有开放api,manager(管理员)

例子:

https://basehost/apikey/update_client

postdata:

{
  "app_key":"your app key",
  "app_secret": "your app secret",
  "name":"app name",
  "scope":"qwe,aa"
  "clienttype":"ruijie_com",
  "redirecturis":"https://localhost:3001",
  "granttypes":"authorization_code,password"
  }

返回结果

正确返回

{
  "code": "200",
  "errno": "操作成功",
  "sqlState": "",
  "index": 0
  }

错误返回

{
  "code": "500",
  "errno": "操作失败",
  "sqlState": "",
  "index": 0
  }

删除 client_id (内部开放)

参数说明

参数名称 必填 说明 备注
app_key 必须输入,应用标识

例子:

https://basehost/apikey/delete_client

postdata:

{
  "app_key":"888"

  }

返回结果:

正确返回

{
  "code": "200",
  "errno": "删除成功",
  "sqlState": "23000",
  "index": 0
  }

错误返回

{
  "code": "500",
  "errno": "删除失败",
  "sqlState": "23000",
  "index": 0
  }

获取token令牌(client_credentials模式)

参数名称 必填 说明 备注
app_key 建议5-20位;|开发者使用api唯一标识
app_secret 长度至少8位; 获取accesstoken秘钥
grant_type 这里写client_credentials
scope 必须输入,与注册时匹配

scope使用注意: base_api(默认值)可以访问基础api,all 可以所有开放api,manager(管理员)

例子:

https://basehost/oauth/token

postdata:

{
  "grant_type":"client_credentials",
  "app_key": "your app_key",
  "app_secret":"your secret",
  "scope":"your scope"
  }

正确返回

{
  "access_token": "VrwNIk9VGqrucb6zZukmCuQbvlBhbnwj",
  "expires_in": 1209600,
  "scope": "demo",
  "refresh_token": "sOEnnK5fgJBmIXNuONndIvYCbmP7Af2s",
  "token_type": "Bearer"
  }

错误返回

{
  "error": "access_denied",
  "error_description": "Unauthorized scope: demo1"
  }
  }

获取token令牌 (Implicit 模式)

  1. 填写回调地址
  2. 进入开发者页面,填写回调地址。
https://basehost/oauth/authorize?app_key=123&redirect_uri=http://www.baidu.com&response_type=token&scope=demo&state=123
参数名称 必填 说明 备注
app_key: 建议5-20位;|开发者使用api唯一标识
redirect_uri: 回调地址
response_type:
scope: 作用域 与注册时匹配
state:

结果:
如果没有登录,转到oauth登录页面.
如果已经登录状态,开发者回调接口得到如下参数:

access_token=sDfNxFBz52YSz1vE25ME6Gn5TlXgLOxE&expires_in=1209600&scope=demo&token_type=Bearer&state=123
参数名称 说明
access_token: 得到的token
expires_in: token有效时间(秒)
scope: 作用域
token_type:
state: 状态

获取token令牌 (Authorization code 模式)

  1. 填写回调地址
  2. 进入开发者页面,填写回调地址。
  https://basehost/oauth/authorize?app_key=123&redirect_uri=http://www.baidu.com&response_type=code&scope=demo&state=123
参数名称 必填 说明 备注
app_key: 建议5-20位;|开发者使用api唯一标识
redirect_uri: 回调地址
response_type:
scope: 作用域 与注册时匹配
state:

结果:
如果没有登录,转到oauth登录页面.
如果已经登录状态,开发者回调接口得到如下参数:

code=YoLXyTTfDx6K9Haj2rsIkSOcH7qLS6hl&state=123
参数名称 说明
code: 请求access_token需要的code
state: 状态
  1. 根据code获取access_token (post)

https://basehost/oauth/token

{
  https://172.16.56.112:3005/oauth/token?code=GwDtUOxEwNt5icdGxelpR3I9OMX3XHHH&grant_type=authorization_code&app_key=123&app_secret=secret&redirect_uri=https%3A%2F%2F172.16.56.112%3A3001%2Fauth-code-flow.html
  }

请求参数

{
  "grant_type":"client_credentials",
  "app_key": "123",
  "app_secret":"secret",
  "code":"GwDtUOxEwNt5icdGxelpR3I9OMX3XHHH",
  "redirect_uri":"https%3A%2F%2F172.16.56.112%3A3001%2F auth-code-flow.html"
  }

返回结果:

{
  "access_token":"fDanz0ydkCqVsgSoze7mrCnwJIsN0dL",
  "pexpires_in":"1209600",
  "scope":"demo",
  "refresh_token":"HhbiRKzjVnKdvGfmuGjvh3Clm4AIMqV8",
  "token_type":"Bearer"
  }

### 过期token换取新token[Post]

参数名称 必填 说明 备注
grant_type refresh_token[固定参数] 换取新token|开发者使用api唯一标识
app_key 开发者使用api唯一标识
app_secret 获取accesstoken秘钥
refresh_token 上次获取token中反馈的refresh_token
  url: 'https://basehost/oauth/token',
  {
  "grant_type": "refresh_token",
  "client_id": "your clientid",
  "client_secret": "appkey",
  "refresh_token": "***********"
  }

  {
  "access_token": "xN2836yQAQfDURxVPds0IM9vfUk3IJC5",
  "expires_in": 604800,
  "scope": "demo",
  "refresh_token": "VFlAp82EUWNQJkokRvoELSPhPpO3pSPS",
  "token_type": "Bearer"
  }

微哨开放平台接口

注意!!!所有图片地址为绝对路径,测试版本为相对路径

获取已上架应用信息

请求参数

参数名 必填 类型 说明
name false string 查询APP的名称
developer false string 开发者的Email

返回JSON数据

GET https://basehost/op/applist

[
  {
  desc_img_1: "/media/app/photos/80e-3719d66490ca.jpg",         //应用截图
  desc_img_2: "/media/app/photos/b10-b46e24238d3b.jpg",
  desc_img_3: "/media/app/photos/eb7-66f54a985c20.jpg",
  description: "轻松知道上课内容",
  app_input_url: "http://www.youku.com/",                       //APP网址
  date_joined: "2015-12-13 11:12:21",                           //创建时间
  category: "学习",
  app_callback_url: "",                                         //回调地址
  name: "课程表",
  app_signin_url: "",
  date_update: "2015-12-16 02:38:37",                            //最后更新时间
  date_audit: "2015-12-16 02:38:37",                             //审批时间
  developer: "870300163e000281",
  icon: "/media/app/icon/1b9-60e32b5a9a45.png"
  },
  {...}
  ]

获取开发中应用信息

请求参数

参数名 必填 类型 说明
status false int 查询APP的状态
name false string 查询APP的名称
developer false string 开发者的Email

状态类型

    0: 测试中
    1: 审核中
    2: 已上线
    3: 审核未通过
  

GET http://basehost/op/appdev

返回JSON数据

[
  {
  desc_img_1: "/media/app/photos/80e-3719d66490ca.jpg",         //应用截图
  desc_img_2: "/media/app/photos/b10-b46e24238d3b.jpg",
  desc_img_3: "/media/app/photos/eb7-66f54a985c20.jpg",
  description: "轻松知道上课内容",
  status: 1,
  app_input_url: "http://www.youku.com/",                       //APP网址
  date_joined: "2015-12-13 11:12:21",                           //创建时间
  category: "学习",
  app_callback_url: "",                                         //回调地址
  name: "课程表",
  app_signin_url: "",
  date_update: "2015-12-16 02:38:37",                            //最后更新时间
  date_audit: "2015-12-16 02:38:37",                             //审批时间
  developer: "870300163e000281",
  icon: "/media/app/icon/1b9-60e32b5a9a45.png"
  },
  {...}
  ]

获取开发者信息

GET http://basehost/op/developer

请求参数

参数名 必填 类型 说明
id true string 根据ID 精确查询
email true string 根据Email 精确查询

返回JSON数据

{
  province: "北京",
  id_card_img_1: "/media/app/photos/eb7-66f54a985c20.jpg",    //身份证或执照照片
  id_card_img_2: "/media/app/photos/eb7-66f54a985c20.jpg",
  is_active: true,                                            //是否已激活
  phone: "13811065292",
  address: "丰台区马家堡路28号",
  date_joined: "2015-12-14 22:01:21",                         //注册时间
  city: "北京",
  name: "836800163e000281",
  id_card: "11111111111111111123",
  email: "1402703796@qq.com"
  }

已上架应用修改、删除(内部开放)

基本描述

开放平台可使用该api对应用的信息进行修改、删除操作。

请求方式

POST

请求url形式

https://[server]/ms/index.php?m=confInfo&a=setAppInfo

参数说明

参数名 必填 类型 说明
flag true string 操作类型, “delete”对应删除操作,”update”对应更新操作,只能为”delete”或”update”之一
app_key true string 应用的app_key,在管理端或开放平台中应用创建时获得。
param true string 微哨开放平台应用的各字段值组成的json,包括应用名称app_name,应用地址url,应用类型category,应用简介describe,应用图标icon,应用介绍图片screenshot。flag为”update”时使用。

请求结构体

请求结构体json示例

{
“flag”: “update”,
“app_key”: “c8e877ca3077”,
“param “:
{
“app_name”: “百度”,
“url”: “http://www.baidu.com”,
“category”: “life”,
“describe”: “百度搜索”,
“icon”: “http://172.16.56.175/group1/M00/01/92/rBA4r1ZzcraIVvp2ABANg-r22LwAAAAFQI6w7AAEA2b817.png”,
“screenshot”:[“http://172.16.56.175/group1/M00/01/75/rBA4r1ZOi4OIB8CFAAEWllmG960AAAAEhCzNJsAARau864.png”,
http://172.16.56.175/group1/M00/01/75/rBA4r1ZOi4OIC6SiAAEWllmG960AAAAEhC0S0kAARau258.png”,
http://172.16.56.175/group1/M00/01/75/rBA4r1ZOi4OIJW7zAAEWllmG960AAAAEhC1YfcAARau589.png”]
}
}

返回结果

json示例

{
“data” :null,
“ret” :0,
“errcode”:0,
“errmsg” : “ok”,
}

返回结果字段说明

参数名 类型 说明
ret int 0 表示成功 -1 失败
errcode int 错误码
errmsg string 信息
data object 返回数据内容

注意事项

应用图标、应用介绍图片的地址为绝对路径。

测试中应用修改、删除、查看(内部开放)

基本描述

客户端使用//test时,使用该api对应用的信息进行修改、删除和查看操作。

请求方式

POST

请求url形式

https://[server]/ms/index.php?m=confInfo&a=setTestingAppInfo

参数说明

参数名 必填 类型 说明
flag true string 操作类型, “delete”对应删除操作,”update”对应更新操作,”select”对应查看操作
app_key true string 应用的app_key,在管理端或开放平台中应用创建时获得。
param true string 微哨开放平台应用的各字段值组成的json,包括应用名称app_name,应用地址url,应用类型category,应用简介describe,应用图标icon,应用介绍图片screenshot。

请求结构体

请求结构体json示例

{
“flag” : “update”,
“app_key” : “2bDlO36VVnX4Zgu6”,
“param ” :
{
“app_name” : “百度”,
“url” : “http://www.baidu.com”,
“category” : “life”,
“describe” : “百度搜索”,
“icon” : “http://172.16.56.175/group1/M00/01/92/rBA4r1ZzcraIVvp2ABANg-r22LwAAAAFQI6w7AAEA2b817.png”,
“screenshot”:[“http://172.16.56.175/group1/M00/01/75/rBA4r1ZOi4OIB8CFAAEWllmG960AAAAEhCzNJsAARau864.png”,
http://172.16.56.175/group1/M00/01/75/rBA4r1ZOi4OIC6SiAAEWllmG960AAAAEhC0S0kAARau258.png”,
http://172.16.56.175/group1/M00/01/75/rBA4r1ZOi4OIJW7zAAEWllmG960AAAAEhC1YfcAARau589.png”]
}
}

返回结果
json示例:

返回结果字段说明

参数名 类型 说明
ret int 0 表示成功 -1 失败
errcode int 错误码, 60052-参数错误
errmsg string 信息
data object 返回数据内容,当flag为”select”时,返回应用的信息

注意事项

应用图标、应用介绍图片的地址为绝对路径。