POST正确的token仍返回无效参数
By_zlf 发布于2018-12 浏览:2914 回复:5
0
收藏

1、POST https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=******&client_secret=****** HTTP/1.1,获取到access_token;

2、POST https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token=******(第一步获取到的access_token) HTTP/1.1(请求体略);

返回{"error_code":100,"error_msg":"Invalid parameter"}

现确认access_token正确无误,抓包分析POST内容也正确,为什么会出现这种情况?请各位帮助分析一下,谢谢。

收藏
点赞
0
个赞
共5条回复 最后由转角处MX源回复于2019-03
#6转角处MX源回复于2019-03
#3 By_zlf回复
后来查了下原因,百度AI相关接口采用的是HTTPS协议而非HTTP协议,即加了数据加密扩展,因此不能直接通过TCP协议POST数据,需要通过建立在TCP协议之上的SSL/TLS协议上POST数据。
展开

我今天也碰到你的这个情况 ,我感觉我的POST是对的    ,那怎么用你说的  需要通过建立在TCP协议之上的SSL/TLS协议上POST数据。

0
#5By_zlf回复于2018-12
#4 用户已被禁言回复
嗯嗯。这个要具体看你的语言了。Java的话不需要额外的处理(JDK 1.7 1.8+)
展开

对的,我用的C/C++没有这种特性,所以需要自己手动处理。当时忽视了这一点,谢谢你的建议啦!

0
#4用户已被禁言回复于2018-12
#3 By_zlf回复
后来查了下原因,百度AI相关接口采用的是HTTPS协议而非HTTP协议,即加了数据加密扩展,因此不能直接通过TCP协议POST数据,需要通过建立在TCP协议之上的SSL/TLS协议上POST数据。
展开

嗯嗯。这个要具体看你的语言了。Java的话不需要额外的处理(JDK 1.7 1.8+)

1
#3By_zlf回复于2018-12
#2 用户已被禁言回复
100 是提示你参数有误。 你是用什么语言调用呢? 还有接口地址中只有access_token一个参数  其他都在BODY里面。你确定你的参数位置对吗?
展开

后来查了下原因,百度AI相关接口采用的是HTTPS协议而非HTTP协议,即加了数据加密扩展,因此不能直接通过TCP协议POST数据,需要通过建立在TCP协议之上的SSL/TLS协议上POST数据。

0
#2用户已被禁言回复于2018-12

100 是提示你参数有误。

你是用什么语言调用呢?

还有接口地址中只有access_token一个参数  其他都在BODY里面。你确定你的参数位置对吗?

1
TOP
切换版块