springboot项目如何接入淘宝客API?
之前项目接入过淘宝客API,API的调用也正常,但是最近发现发送API请求报错,提示无权限。
从官方文档发现最近的API已经进行过升级,原有的接口已经无法使用,再看了下最近的sdk包还是两年前下载的。
顺着这个思路往这个方向进行修复,在官网重新生成了最新的SDK包。
maven项目需要在pom.xml文件中引入下载好的jar包,但是注意需要打包的时候也要把本地下载的jar包打进去。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--加入这个includeSystemScope,解决引入第三方包后本地运行正常,打包后报错问题-->
<includeSystemScope>true</includeSystemScope>
</configuration>
<!--加入这个includeSystemScope,解决引入第三方包后本地运行正常,打包后报错问题-->
</plugin>
</plugins>
</build>
jar包引入正常后,后面就是正常调用api了。
String serverUrl = "http://gw.api.taobao.com/router/rest";
// 可替换为您的应用的AppKey
String appKey = "xxx";
// 可替换为您的应用的AppSecret
String appSecret = "xxx";
String pageNo = "1";
String pageSize = "10";
String keyWords = "数据线";
// 初始化请求参数
TaobaoClient client = new DefaultTaobaoClient(serverUrl, appKey, appSecret);
TbkDgMaterialOptionalUpgradeRequest req = new TbkDgMaterialOptionalUpgradeRequest();
req.setPageSize(Long.valueOf(pageSize)); // 页大小,默认20,1~100
req.setPageNo(Long.valueOf(pageNo)); // 第几页,默认:1
req.setQ(keyWords); // 商品筛选-查询词
// 开始请求
TbkDgMaterialOptionalUpgradeResponse rsp = client.execute(req);
Map<String, Object> resultMap = new HashMap<>();
ObjectMapper objectMapper = new ObjectMapper();
// 转成Json
Map map = objectMapper.readValue(rsp.getBody(), Map.class);
Map tbk_dg_material_optional_response = (Map) map.get("tbk_dg_material_optional_upgrade_response");
Map result_list = ((Map) tbk_dg_material_optional_response.get("result_list"));
List map_data = ((List) result_list.get("map_data"));
resultMap.put("result",map_data);
log.info(map_data.toString());
最终map_data就是返回的json数据。
发表评论 (审核通过后显示评论):