对接(字节)火山引擎人脸识别__Golang

前瞻:

  初次接触可能会认为这个接入是比较复杂且困难的过程,其实只是简单调用一下API接口,得到一个URL,访问URL,设备会要求获取摄像头权限,允许后做一下眨眼张嘴等动作完成动作采集即可。

  然后再调用另一个API接口查询人脸识别认证的结果。

  注:官网人工客服不是后端技术,因此沟通时会造成一定误导,因此想要获取专业答疑建议提交工单。


流程:

  

/*
	1、H5套餐配置
	https://www.volcengine.com/docs/6973/1545827
	临时配置ID(ConfigID)会在生成的一段时间后失效,有效期为15分钟,请注意定期刷新逻辑,保证传入的临时配置ID是有效的。
*/
/*
	2、获取临时密钥(STS)
	https://github.com/volcengine/volc-sdk-golang/blob/main/example/sts/demo_sts.go
	为保证密钥安全性,强烈不建议客户端存储长期的AKSK。推荐服务端存储长期AK、SK,在服务端优先调用安全令牌服务(STS),通过长期密钥换取临时密钥,再将临时密钥下发给客户端使用。
*/

    go get -u github.com/volcengine/volc-sdk-golang // 需要引入依赖
/*
    3、H5Token配置
    https://www.volcengine.com/docs/6973/1545829
    生成的byted_token会在生成的一段时间后失效,有效期为60分钟,请及时使用(仅支持认证一次,禁止重复认证)。
*/

按照1、2、3流程调用即可,1是为了获取临时配置ID,2是为了获取临时秘钥,3则是依赖步骤1、2所返回的数据作为入参。 

调用成功后,根据步骤3返回的byted_token就可以来组装最终的URL了

h5URL := fmt.Sprintf("%s?accessKeyId=%s&secretAccessKey=%s&sessionToken=%s&configId=%s&bytedToken=%s&lng=zh",
    "https://h5-v2.kych5.com",
    url.QueryEscape(stsCredential.AccessKey),
    url.QueryEscape(stsCredential.SecretKey),
    url.QueryEscape(stsCredential.Token),
    url.QueryEscape(*configID),
    url.QueryEscape(bytedToken.Data.BytedToken))

 访问这个URL就可以进行人脸识别认证的动作采集了。

 

/*
    4、H5认证结果查询
    https://www.volcengine.com/docs/6973/1545830
    业务在完成认证后,可以通过服务端调用此接口获取活体认证相关数据。此数据有效期为1小时。由于存储为异步行为,因此会有秒级延迟,若获取不到结果请重试。
*/

 采集完成后,根据这个接口去查询认证的结果即可。

 

后记:

  不得不吐槽一下,字节的接口文档读上去是有些乱且费解的。(比如获取sts临时秘钥的demo,是我根据Java的demo在其github里面自己找的,官方文档没有给出github地址)

  而且接口的参数设计也显得怪异……(一个接口header参数、body参数、query参数都要有,之前对接Amazon、PayPal、阿里、顺丰等国内外企业的接口也没遇到这样复杂的参数设计,接口设计出来不就是方便调用吗,弄这么复杂?)

posted @ 2025-07-23 16:59  Ashe|||^_^  阅读(92)  评论(0)    收藏  举报