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数据。




本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):