JAVA接入苏宁授权API

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2019-02-12 13:45
  • 2670人已阅读
简介 如果您的应用和苏宁开放服务平台对接后,需要获取一些与用户紧密相关的信息(如订单、商品、促销等),为保证数据的安全性和隐私性,需要取得用户的同意,引导用户授权。苏宁开放服务平台采用国际通用的OAuth2.0标准协议,支持网站、桌面客户端、机客户端。如果要了解更多关于OAuth2.0的技术说明,请参考官方网站 http://oauth.net/2/ 目前,苏宁开放服务平台的OAut

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

如果您的应用和苏宁开放服务平台对接后,需要获取一些与用户紧密相关的信息(如订单、商品、促销等),为保证数据的安全性和隐私性,需要取得用户的同意,引导用户授权。苏宁开放服务平台采用国际通用的 OAuth2.0 标准协议,支持网站、桌面客户端、 机客户端。如果要了解更多关于 OAuth2.0 的技术说明,请参考官方网站 http://oauth.net/2/ 目前, 苏宁开放服务平台的 OAuth2.0 支持以下方式获取 Access Token , Token 有效时长为一年。

官方授权说明文档:http://open.suning.com/api/view/devUsrauthintr.htm


1.访问授权地址:http://open.suning.com/api/oauth/authorize?client_id=苏宁应用APPID&response_type=code&redirect_uri=后台设置的回调地址

2.使用code换取access_token

public static void main(String[] args) {
	new AccessTokenUtils().get_access_token("c1abbcb414f03395be501cfcc628b4f8");
}

/**
 * 获取接口访问令牌
 * @param access_code  授权登陆后的code
 */
public void get_access_token(String access_code) {
	StringBuffer sb = new StringBuffer();
	sb.append("grant_type=authorization_code");
	sb.append("&client_id=" + APIIConst.APP_KEY);
	sb.append("&client_secret=" + APIIConst.APP_SECRET);
	sb.append("&redirect_uri=" + APIIConst.REQ_BACK_URL);
	sb.append("&code=" + access_code);
	String jsonStr = HttpRequestTools.sendPost("http://open.suning.com/api/oauth/token", sb.toString());
	if(jsonStr != null && !"".equals(jsonStr)) {
		JSONObject obj = (JSONObject) JSON.parse(jsonStr);
		// 访问令牌 
		obj.getString("access_token");
		// 令牌类型 
		obj.getString("token_type");
		// 刷新令牌
		obj.getString("refresh_token");
		// 访问令牌过期时间
		obj.getString("expires_in");
		// 刷新令牌过期时间 
		obj.getString("re_expires_in");
		// 授权范围
		obj.getString("scope");
		// 苏宁用户名 
		obj.getString("suning_user_name");
		logger.info(obj.getString("suning_user_name").toString() + "授权成功.");
	} else {
		// 授权错误,检查access_code
		logger.info("授权错误,请检查access_code");
	} 
}



http://www.xiaojianjian.net/archives/260

TopTop