百度EasyDL相关API调用的尝试-基于python尝试,以及基于appinventor开发物体检测APP测试

百度EasyDL相关API调用的尝试(以及application/json和application/x-www-form-urlencoded发送时的区别)

首先使用python尝试进行了API调用

调用流程:

1.获取AccessToken:

向授权服务地址https://aip.baidubce.com/oauth/2.0/token发送请求(推荐使用POST),并在URL中带上以下参数:

  • 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】'

2.相应API调用,代码参数设置,

将图像数据base64编码后通过POST发送

3.得到反馈的json文件进行处理

我在本地通过python尝试了一下调用最终得到结果如下

百度EasyDL相关API调用的尝试-基于python尝试,以及基于appinventor开发物体检测APP测试_第1张图片

基于App inventor开发APP进行调用

这一部分就是让人头大的地方了,由于app inventor 时拼图编程,导致很多代码块内部逻辑不是很清楚,所以也是踩了很多坑。

好在最终也得到了想要的结果:
首先由于不同的api调用时需要post的表单的数据类型时不同的,常见的有application/json和application/x-www-form-urlencoded。
百度EasyDL相关API调用的尝试-基于python尝试,以及基于appinventor开发物体检测APP测试_第2张图片
百度EasyDL相关API调用的尝试-基于python尝试,以及基于appinventor开发物体检测APP测试_第3张图片
两者的编码方式是有着一些区别的

发送application/x-www-form-urlencoded类型的设计

我这里选择调用的是百度智能云的货币识别以及红酒识别的API

UI设计

百度EasyDL相关API调用的尝试-基于python尝试,以及基于appinventor开发物体检测APP测试_第4张图片

逻辑设计

百度EasyDL相关API调用的尝试-基于python尝试,以及基于appinventor开发物体检测APP测试_第5张图片
通过观察返回json文件格式,最终采取了下面的处理方式

百度EasyDL相关API调用的尝试-基于python尝试,以及基于appinventor开发物体检测APP测试_第6张图片
最后经过测试结果如下

发送application/json类型的设计

这里和上面的主要区别就是POST的表单数据的类型不同,所以就需要我们把要POST的数据处理好。
百度EasyDL相关API调用的尝试-基于python尝试,以及基于appinventor开发物体检测APP测试_第7张图片
其它地方就大同小异啦。

在做这个作业的过程中可谓历尽艰难,但是还是让我收获颇丰。

参考文献
POST提交数据区别
API调用流程

你可能感兴趣的:(物联网,百度,python,百度云,物联网,app)