1号店开放平台,是基于1号店海量商品、用户数据,为广大的开发者提供开放数据的平台。 开发者申请到app_key、app_secret后,就可以基于您的智慧和1号店丰富的开放接口,创造出无穷的应用和乐趣。 在使用1号店openAPI之前,您需要做以下两步操作: 1.注册成为开发者,并申请到app_key、app_secret,即需要创建一个应用; 2.获取sessionKey,即access_token。
关于OAuth2.0的详细介绍,请参考OAuth2.0协议标准。
1.访问授权地址:https://member.yhd.com/login/authorize.do?client_id=一号店应用APPKEY&redirect_uri=后台设置的回调地址&response_type=code
2.使用code换取access_token
/**
* @param access_code 授权登陆后的code
*/
public void get_access_token(String access_code) {
StringBuffer sb = new StringBuffer();
sb.append("https://member.yhd.com/login/token.do?");
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 json_text = HttpRequestTools.sendGetReq(sb.toString(), "GET", 102400, "UTF-8");
JSONObject obj = (JSONObject) JSON.parse(json_text);
if(obj != null) {
obj.getString("accessToken");
obj.getString("merchantId");
obj.getString("expiresIn");
DateUtils.formatLongToStr(obj.getString("expiresIn"), "yyyy-MM-dd HH:mm:ss");
obj.getString("nickName");
obj.getString("userCode");
obj.getString("userId");
obj.getString("userType");
logger.info(obj.getString("nickName") + "授权成功.");
} else {
logger.info("授权错误.");
}
}
http://www.xiaojianjian.net/archives/263