如何通过Workday REST API获取员工照片base64数据
解答
REST端点获取base64照片方案
不需要调用SOAP接口,直接用REST端点就能拿到照片base64数据,操作步骤如下:
- 从你之前调用
/workers或/data接口返回的photo字段块中,提取照片对应的id值,也就是你示例里的12345~~~~~54321 - 构造GET请求,请求头必须携带
Accept: application/json,调用地址格式为:GET /workers/{目标员工ID}/photos/{提取到的photoID} - 接口返回的JSON结构中,
data字段就是完整的照片base64编码字符串,同时返回的contentType字段会标注图片格式(image/jpeg、image/png等),你可以直接拼接成Data URL用于前端渲染,也可以解码后做尺寸缩放、本地缓存处理。
接口返回结构参考:{ "id": "12345~~~~~54321", "descriptor": "Employee's Photo (~~~~~~~)", "data": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAA......", "contentType": "image/jpeg" }
注意:如果请求头不携带
Accept: application/json,该端点默认返回图片二进制流,适合做代理转发场景,不会返回base64格式内容。
/data端点WQL查询说明
不能通过WQL语句在/data端点直接查询到员工照片的base64数据。WQL查询返回的photo关联对象仅包含descriptor和id两个元数据字段,不会返回实际图片编码内容,必须拿到photo的id后调用上述REST端点才能获取真实图片数据。
权限说明
调用该照片接口所需的权限,和你之前调用/workers、/data查询员工基础信息的权限一致,不需要额外申请SOAP接口相关的特殊权限。
内容的提问来源于stack exchange,提问作者shawn_t
相关产品推荐
相关产品推荐

