百度AI开放平台SDK报错:invalidparameter(s)解决记录

极客癖看科技 2024-04-18 18:23:17

正巧这段时间开发一个老照片上色小程序,就是下面这个↓

需要调用百度智能云的接口,用来实现黑白照上色等AI效果,我使用的是thinkphp开发,打算把所有图像处理接口都用一遍,于是踩了个大坑。

首先说一下我用的是官方提供的PHP SDK开发,下载最新的SDK ,然后融合进项目,按照官方文档引入,使用,一气呵成。

本来前面的功能都很顺利就调用成功,直接往函数里传二进制图片流,它就会返回处理后的图片base64数据。

可在调用图片去水印(图像修复)接口时,一直返回invalid parameter(s)错误,按照官方的错误码查询表,这个错误是...请求中包含非法参数....

按照官方文档,图片去水印(图像修复)需要传递的参数如下图:

于是我直接把官方示例代码复制粘贴到项目里,依然报错invalid parameter(s),因为使用这个接口的人不多,网上也找不到解决办法,于是我只能判断是官方SDK的问题,于是经过了一夜的折腾,终于....解决了

问题就出在官方SDK里,官方文档说明也有问题,百度接收的参数应该是json格式,而且是图片与坐标数据合并后一起转json才行,而不管是官方的SDK,还是文档,都未说明这一点,SDK还给出了错误代码,实在是恶心,要不是我用官方的在线调试功能时发现了端倪,还不知要多久才能解决。

如上图,在SDK文件中把整体参数转成json,再调用就能返回成功数据了。

这个坑不仅SDK有,自己写代码调用的也要注意,这里记录一下,方便后人。

0 阅读:0

极客癖看科技

简介:感谢大家的关注