# Profile APIs
本组API用于处理用户信息。
- 使用本组API前请先阅读概述,使用前的准备工作请参考此处,令牌的获取参考此处,构造请求请参考此处,返回数据请参考此处,除非特殊注明,所有开放式API有着通用的返回结构。
- 每个API的授权方式、授权范围和是否API SDK支持请查看以下每个API详细的表述。
# 查询我的用户信息
# 功能介绍
该接口用于查询我的用户信息
# 请求参数
除了access_token无其他参数
# 响应参数
所有API的响应参数都具有相同的通用结构,本文档只描述通用结构中entities数组中返回的数据对象。
- Profile用户信息 Structure
括号内的scope表示该字段支持的scope,非此scope将不包含该字段
{
"id":{guid}, // 自然人标识(basic,essential,profile,privacy), 集体账号等非个人账号无此项数据。同一自然人的多个账号具有相同id
"account":{string}, // jaccount, 账号名(basic,essential,profile,privacy)
"name":{string}, // 真实姓名(basic,essential,profile,privacy)
"kind":"canvas.profile", // 类型(basic,essential,profile,privacy)
"code":{string}, // 默认身份的学/工号(essential,profile,privacy)
"userType": {string}, // 默认身份的身份类型,身份类型列表见下表 (essential,profile,privacy)
"organize":{ // 默认身份所属机构(essential,profile,privacy)
"id":{string},
"name":{string} // 组织机构名
},
"topOrganize":{ // 默认身份所属机构对应的二级单位,请不要做持久化使用谨防数据更新。(essential,profile,privacy)
"id":{string},
"name":{string} // 组织机构名
},
"classNo":{string}, // 当userType是student时,该值为班号信息(profile,privacy)
"avatars":{ // 头像(privacy)
"uriTiny": {uri}, // 小头像
"uriNormal": {uri}, // 中头像
"uriLarge": {uri}, // 大头像
},
"birthday": {long}, // 生日(privacy)
"gender": {string}, // 性别, male or female(profile,privacy)
"about": {string}, // 个人简介(profile,privacy)
"email": {string}, // 主要邮箱(profile,privacy)
"timeZone": {int}, // 用户所在时区,默认+8(basic,essential,profile,privacy)
"mobile": {string}, // 手机号码 (profile,privacy)
"identities":[nicman.identity],// 账号绑定身份信息(essential,profile,privacy)
"cardNo":{string}, // 证件号码(privacy)
"cardType":{string}, // 证件类型,值含义见下表(privacy)
"unionId":{string}, // 账号绑定的网络中心微信号id,仅授权应用可访问 (connect_wechat)
"accountPhotoUrl":{String} // 账号头像(essential,profile,privacy)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
- Identity身份信息 Structure
{
"kind":"nicman.identity" // model类型
"isDefault":{boolean}, // 是否是默认身份
"defaultOptional":{boolean}, // 是否可以设置为默认身份
"code":{string}, // 学/工号
"userType": {string}, // 身份类型,
"organize":{ // 组织机构名。学生身份表示学籍所在机构,教职工身份表示人事关系所在机构。
"id":{string},
"name":{string}
},
"topOrganize":{ // organize对应的二级组织机构。计算值,在组织机构调整时,organize不变的情况下topOrganize仍可能变化,因此请避免持久化使用。
"id":{string},
"name":{string}
},
"mgtOrganize": { // 学生身份的管理所在组织机构,教职工身份的返聘所在组织机构(如有)
"id":{string},
"name":{string}
},
"topMgtOrganize": { // mgtOrganize对应的二级组织机构。计算值,在组织机构调整时,mgtOrganize不变的情况下topMgtOrganize仍可能变化,因此请避免持久化使用。
"id":{string},
"name":{string}
},
"topOrganizes": [{ // 该身份对应的多组织机构信息,二级机构列表,当前仅针对教职工身份返回
"id":{string},
"name":{string}
}],
"classNo":{string}, // 当userType是student时,该值为班号信息
"status":{string}, // 身份状态,取值见身份状态表
"expireDate":{string}, // 身份有效期
"createDate":{long}, // 身份创建时间
"updateDate":{long}, // 身份更新时间
"gjm":{string}, // 国籍码
"major": {
"name":{string}, // 当userType是student时,该值为专业名称(profile,privacy)
"id":{string} // 当userType是student时,该值为专业代码(profile,privacy)
},
"admissionDate":{string}, // 当userType是student时,该值为入校时间,格式YYYY-MM-DD(profile,privacy)
"trainLevel":{string}, // 当userType是student时,该值为培养层次(profile,privacy)
"graduateDate":{string}, // 当userType是student时,该值为预计毕业时间,格式YYYY-MM-DD(profile,privacy)
"photoUrl":{string}, // 当userType是student/faculty时, 该值为照片下载地址,含更新时间戳(privacy)
"facultyType":{ // 当userType是faculty时,该字段标识教职工类型(profile,privacy)
"id":{String}, // 教职工类别吗
"name":{String} // 教职工类别描述
},
"type": { // 当userType是student/faculty时,该字段标识人员类别(profile,privacy)
"id":{String}, //人员类别码
"name":{String} //人员类别描述
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
- userType身份类型列表 Data
Value | Description |
---|---|
faculty | 教职工 |
student | 学生 |
yxy | 医学院教职工 |
fs | 附属单位职工 |
vip | vip |
postphd | 博士后 |
external_teacher | 外聘教师 |
summer | 暑期生 |
alumni | 校友 |
green | 绿色通道 |
outside | 合作交流 |
fszxjs | 附属中学教师 |
freshman | 新生 |
team | 集体账号 (此项非身份类型,仅可能出现在Profile结构中,表示账号为集体账号) |
- status身份状态列表 Data
UserType | Value | Description |
---|---|---|
faculty | 正常 | |
faculty | 离职 | 人事系统标记离职 |
faculty | 退休 | 人事系统标记退休 |
faculty | 退休返聘 | |
faculty | 过期 | |
faculty | 其他 | 其他状态 |
student,freshman | 正常 | 未标记离校(离校标记来自离校系统,学生身份有效性建议参考有效期) |
student,freshman | 离校 | 已标记离校 |
其他类型 | 正常 | |
其他类型 | 过期 |
- cardType证件类型列表 Data
Value | Description |
---|---|
01 | 身份证 |
02 | 户口簿 |
03 | 护照 |
04 | 军官证 |
05 | 士兵证 |
06 | 港澳居民来往内地通行证 |
07 | 台湾居民来往大陆通行证 |
08 | 临时身份证 |
09 | 外国人居留证 |
10 | 警官证 |
11 | 其他证件 |
12 | 港澳台居民居住证 |
13 | 外籍人士中国永居证 |
14 | 外国人工作许可证 |
15 | 港澳台身份证 |
# 请求示例
GET /v1/me/profile HTTP/1.1
Host: api.sjtu.edu.cn
1
2
2
# 响应示例
示例 成功的响应
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"errno":0,
"error":"success",
"total":0,
"entities":[{
"id":"A0000000-1111-2222-3333-012345678901",
"account":"testprofile",
"name":"张三",
"kind":"canvas.profile",
"timeZone":0
}]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 查询指定用户的信息
注意此API不对外开放
# 路径参数
- 用户可以根据jAccount或者userId(学工号)来查询
# 响应参数
参见查询我的用户信息中的响应参数
# 请求示例
GET /v1/profile/testprofile HTTP/1.1
Host: api.sjtu.edu.cn
1
2
2
# 响应示例
参见查询我的用户信息中的响应示例