1.接口调用通用形式
相关网址:https://ai.qq.com/doc/auth.shtml
如腾讯Ai给出的示例,其中app_id, time_stamp, nonce_str, sign为发起对腾讯Ai各种Api都需要加入到post请求的数据。而key1,key2则根据不同Api会有不同。如下面的OCR通用文字识别Api
图中唯一不同于示例的是把key1,key2换成了image,即待识别图片的base64编码数据。
实际上也是如此,对待不同的Api请求,只需要修改key1,key2成对应的键值对即可。
2.各字段数据生成
app_id
app_id为应用标识,到腾讯Ai平台申请项目就会得到app_id,和app_key。app_key在后续的鉴权生成时会用到。
申请项目获得密钥的接入文档https://ai.qq.com/doc/index.shtml
time_stamp
秒级时间戳
实际上就可以使用系统时间(毫秒)/1000得到需要的值。如:
String time_stamp = System.currentTimeMillis() / 1000 + "";
nonce_str
随机字符串
public static String getRandomString(int length) {
String base = "abcdefghijklmnopqrstuvwxyz0123456789";
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < length; i++) {
int number = random.nextInt(base.length());
sb.append(base.charAt(number));
}
return sb.toString();
}
利用随机数字去生成即可。
image的base64编码生成
base64的编码工具类在网上到处都能找得到,这里就不贴算法了,比较长
这个部分的流程主要是将图片以字节数据读入,然后再进行base64编码
byte[] imageData = FileUtil.readFileByBytes(file);
String