拼多多平台接入文档 http://open.pinduoduo.com/#/document
API文档: http://open.pinduoduo.com/#/apidocument
第一步,获取CODE值
打开指定页面, 获取授权值,(返回的页面是,你填写的回调地址)
public String CodeUrl(){
String url="http://jinbao.pinduoduo.com/open.html";
//client_id
url+="?client_id="+client_id;
//授权类型为CODE
url+="&response_type=code";
//授权回调地址
url+="&redirect_uri="+result_url;
return url;
}
第二部,拿到CODE值后,获取访问令牌
因为拼多多接口的要求,请求方式必须是post,而且参数为json格式的,所以更改一下工具类的类型
public String loadJSON (String url,String param) {
StringBuilder json = new StringBuilder();
PrintWriter out = null;
try {
// Post请求的url,与get不同的是不需要带参数
URL oracle = new URL(url);
HttpURLConnection connection = (HttpURLConnection) oracle.openConnection();
// 发送POST请求必须设置如下两行
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestMethod("POST"); // 设置请求方式
connection.setRequestProperty("Content-Type", "application/json"); // 设置接收数据的格式
connection.connect();
out = new PrintWriter(connection.getOutputStream());
out.print(param);
// flush输出流的缓冲
out.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(
connection.getInputStream(),"utf-8"));
String inputLine = null;
while ( (inputLine = in.readLine()) != null) {
json.append(inputLine);
}
in.close();
} catch (IOException e) {
System.out.println("发送 POST 请求出现异常!" + e);
return "-1";
}
return json.toString();
}
/**
拼多多 授权码 ---授权地址
获取授权码(code)
商家授权正式环境:http://mms.pinduoduo.com/open.html
多多客授权正式环境:http://jinbao.pinduoduo.com/open.html
参考 http://open.pinduoduo.com/#/document
返回地址:
http://ddjb.pinduoduo.com/open.html?client_id=745f2d713c4140cea73e61a316af82ab&response_type=code&redirect_uri=http%3A%2F%2Fpinfa.chcvn.com%2Fpdd_ddk%2Fpddcode
*/
public String CodeUrl(){
String url="http://jinbao.pinduoduo.com/open.html";
//client_id
url+="?client_id="+client_id;
//授权类型为CODE
url+="&response_type=code";
//授权回调地址
url+="&redirect_uri="+result_url;
return url;
}
/**
* 获取访问令牌(access_token)
* 正式环境:http://open-api.pinduoduo.com/oauth/token
* 参考 http://open.pinduoduo.com/#/document
*/
public String Codeaccess_token(String code){
String url="http://open-api.pinduoduo.com/oauth/token";
JSONObject json=new JSONObject();
try {
json.put("client_id",client_id);
json.put("client_secret",client_secret);
json.put("grant_type","authorization_code");
json.put("code",code);
json.put("redirect_uri",result_url);
} catch (JSONException e) {
e.printStackTrace();
}
String json1 = loadJSON(url, json.toString());
return json1.toString();
}
Codeaccess_token 这个方法,返回的就是 授权后的值