拼多多授权

拼多多平台接入文档 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 这个方法,返回的就是 授权后的值

猜你喜欢

转载自blog.csdn.net/qq_36595006/article/details/80804191