2016-08-23 10 views
0

https://login.mailchimp.com/oauth2/authorize APIを使用してアクセスコードを生成しました。しかし、https://login.mailchimp.com/oauth2/tokenを使用してトークンを作成しようとすると、このようなユニコードの結果が得られます。ユニコードを取得するとMailChimpのoauth2トークンが生成される

(?M???0F?UJ?N?NQ?% `??」 「···NB ?? F = & 9 ???? i'f ??] ?〜J * $ ?? W ??レッグ?? _ T1 - ???;?OC)

qryStr = {"client_secret":"**********","grant_type":"authorization_code","redirect_uri":"https%3A%2F%2Flocalhost%3A9443%2Fverifymailchimp.sas","client_id":"********","code":"*************"} 

HttpURLConnection connection = null; 
try 
{ 
    URL reqURL = new URL("https://login.mailchimp.com/oauth2/token"); 

    connection = (HttpURLConnection) reqURL.openConnection(); 
    connection.setConnectTimeout(3000); // 3 seconds 
    connection.setReadTimeout(5000); // 5 seconds 
    connection.setUseCaches(false); 
    connection.setRequestProperty("Accept-Charset", "UTF-8"); 
    connection.setRequestProperty("Accept", "application/json"); 
    connection.setRequestMethod("POST"); 
    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); //No I18N 
    connection.setRequestProperty("Content-Length", "" + Integer.toString(qryStr.getBytes().length)); //No I18N 
    connection.setDoOutput(true); 
    OutputStream os = null; 
    try 
    { 
     os = connection.getOutputStream(); 
     os.write(qryStr.getBytes(CHARSET)); 
    } 
    finally 
    { 
     try{os.close();}catch(Exception e){} 
    } 
    int resCode = connection.getResponseCode(); 
    boolean success = (resCode >= 200 && resCode < 300); 


    InputStream is = success ? connection.getInputStream() : connection.getErrorStream(); 
    if (is == null) 
    { 
     return null; 
    } 

    String contentStr = null; 
    try 
    { 
     InputStreamReader reader = new InputStreamReader(is, CHARSET); 
     StringBuilder buffer = new StringBuilder(); 
     char[] bytes = new char[1024]; 
     int bytesRead; 
     while ((bytesRead = reader.read(bytes, 0, bytes.length)) > 0) 
     { 
      buffer.append(bytes, 0, bytesRead); 
     } 
     contentStr = buffer.toString();//?M?? ?0F?UJ?N?NQ? %`??' "?????nb??f=?&9????i'f??]?~j*$??W??Reg??_T1-???;?oc 
    } 
    finally 
    { 
     try{is.close();}catch(Exception e){} 
    } 
} 

は、誰もが原因を教えてくださいすることができ

答えて

0

を、私はこの場合の原因を発見しました?。アクセスコードは30秒間有効です。期限切れになる前にトークンを生成する必要があります。適切なエラーメッセージが表示された場合は、混乱なく問題を解決することができます:(

関連する問題