#功能梗概:
定制软件或客户端要使用EasyDL平台(https://ai.baidu.com/ai-doc/IMAGERECOGNITION/7k3bcxdn8)训练好的模型(本文用“精确识别鸢尾花应用“),需要通过服务端提供的鉴权URL解析访问令牌(access_token),识别调用POST命令请求EasyDL平台提供的模型API请求地址。
APP实现1拍摄植物或者从图库中提取照片的方式,2讲图片使用Base64解码后,3传回EasyDL中的模型应用,4读取返回的JSON键值对,赋到文本框中。
#专业用语:
POST:POST请求是http协议请求的一种。服务端通常是根据请求头(headers)中的 Content-Type 字段来获知请求中消息主体的编码方式,再对主体进行解析。因此POST 提交数据方案,包含了 Content-Type 和消息主体编码方式两部分。主要有四种方式:application/x-www-form-urlencoded、multipart/form-data、raw(application/json、text/xml)。
URL:统一资源定位符。它是WWW的统一资源定位标志,就是指网络地址。
access_token:访问令牌。EasyDL平台提供的access_token有效期为30天。需要使用创建应用所分配到的API Key及Secret Key,进行Access Token的生成。
获取access_token:
grant_type: 必须参数,固定为client_credentials;
client_id: 必须参数,应用的API Key;
client_secret: 必须参数,应用的Secret Key;
获取鉴权格式:https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【百度云应用的AK】&client_secret=【百度云应用的SK】
注意:确保无空格
JSON:是一种轻量级的数据交换格式。
JSON 是字符串表示的JS 对象:
var obj = {a: 'Hello', b: 'World'}; //是一个对象,注意键名也可以使用引号包裹
var json = '{"a": "Hello", "b": "World"}'; //是一个 JSON 字符串,本质是一个字符串
JS对象常用类型是对象和数组:
对象:使用花括号{} 包裹起来的内容,数据结构为 {key1:value1, key2:value2, ...} 的“键值对”结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
数组:使用方括号 [] 包裹起来的内容,数据结构为 ["java", "javascript", "vb", ...] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是使用索引更多。同样,值的类型可以是任意类型。
#获取访问令牌(access_token):
百度提供鉴权请求地:https://aip.baidubce.com/oauth/2.0/token
针对“精确识别鸢尾花应用“,按照请求格式替换API Key和Secret Key
https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=txf5wKri3ABOVSq7Yz9VFkOZ&client_secret=4TN4ik****q
注意:每次请求将获得不同的access_token。