感谢您的反馈!
商家可以进入控制台https://console.open.taobao.com/#/index,进入自己所创建的应用并在概览标签下查看自己创建应用的App Key(应用唯一标识,平台通过appkey鉴别应用身份)和App Secret(平台分配的密钥,用来保证应用来源的可靠性,防止被伪造,需要妥善保存)
概念:
session Key是店铺授权给应用的有效凭证。
两种授权方式:
进入SDK下载的标签页,下载对应语言版本的SDK并进行开发(下载前请先检查是否已经申请了相对应的权限包)
注:点击下载后,需要手动执行刷新界面操作才能知晓当前SDK是否已经下载完成
<!-- 应用SDK的jar包 --> <dependency> <groupId>com.taobao.api</groupId> <artifactId>taobao-sdk-java</artifactId> <version>20221208</version> <scope>system</scope> <type>jar</type> <systemPath>${project.basedir}/src/main/resources/lib/taobao-sdk-java-auto_1663138347043-20221208.jar</systemPath> </dependency>
使用SDK包中的checkSign()方法来进行验签,不建议使用自己构造的签名来进行验签。
参照接入接口文档中的成功返回示例进行返回接口响应的结果
参照接入接口文档中的成功返回示例进行返回接口响应的结果
以下为验签核心代码示例:
@RequestMapping(value = "orderQuery", method = RequestMethod.POST) public String orderQuery(HttpServletRequest httpServletRequest) { //可以进行提取公共参数 String appKey = httpServletRequest.getParameter("app_key"); String method = httpServletRequest.getParameter("method"); String sign = httpServletRequest.getParameter("sign"); String timestamp = httpServletRequest.getParameter("timestamp"); String v = httpServletRequest.getParameter("v"); String format = httpServletRequest.getParameter("format"); String returnResult = ""; CheckResult checkResult = new CheckResult(); try { //使用SpiUtils.checkSign()来进行验签 checkResult = SpiUtils.checkSign(httpServletRequest, QimenConstant.APP_SECRET); System.out.println("验签的结果为:" + checkResult.isSuccess()); if (checkResult.isSuccess()) { //写具体的业务逻辑,这里例举一个demo if (!StringUtils.isEmpty(method)) { BusResponseEntity entity = new BusResponseEntity(); entity.setRetDesc("success"); entity.setSuccess(true); entity.setRetCode("0"); return JsonObjTool.objectToJson(entity); } else { //模拟逻辑失败返回 return "{\"error_response\":{\"msg\":\"Remote service error\",\"code\":50,\"sub_msg\":\"非法参数\",\"sub_code\":\"isv.invalid-parameter\"}}"; } } else { System.out.println("sign验签不通过"); //返回奇门验签失败的错误结果; return "{\"retDesc\":\"Illegal request\",\"success\":\"false\",\"retCode\":\"sign-check-failure\"}"; } } catch (IOException e) { e.printStackTrace(); } return returnResult; }
完整demo示例:?BusDemo.zip (该示例demo已全部在奇门上通过测试)
写完代码后发布到公网测试服务器上,对地址进行可用性检测,点击开始服务检测即可
进行地址可用性检测,通过后,可进行下一步,并在正式环境上进行地址检测,通过后服务发布上线。
服务上线后,与群内对接的飞猪技术同学进行回复相对应的接口接入已完成。