Shopify OAuth步骤2问题
当我们尝试发布身份验证过程第2步的请求时,向https://hamill-murazik-and-johnston6698.myshopify.com/admin/oauth/access_token发送请求时会出现http 400错误
我们能够通过第一步,并获得临时代码。 但是,当我们尝试发布client_id,client_secret和代码时,我们会收回http 400错误。
代码如下所示
public static void runTest() {
// TODO Auto-generated method stub
try{
URL url = new URL("https://hamill-murazik-and-johnston6698.myshopify.com/admin/oauth/access_token");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
String urlParameters = URLEncoder.encode("client_id", "UTF-8") + "=" + URLEncoder.encode("<CLIENT_ID", "UTF-8");
urlParameters += "&" + URLEncoder.encode("client_secret", "UTF-8") + "=" + URLEncoder.encode("<CLIENT_SECRET", "UTF-8");
urlParameters += "&" + URLEncoder.encode("code", "UTF-8") + "=" + URLEncoder.encode("15f01c0d8b235ffb63234c1c48822432", "UTF-8");
/*connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setAllowUserInteraction(false);
connection.setRequestProperty("Content-Length", Integer.toString(102454));
connection.setRequestProperty("Content-Type", "text/plain");*/
connection.setUseCaches(false);
connection.setAllowUserInteraction(false);
connection.setDoOutput(true);
connection.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters.getBytes().length));
DataOutputStream wr = new DataOutputStream(connection.getOutputStream ());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(
new InputStreamReader(
connection.getInputStream()));
String decodedString;
while ((decodedString = in.readLine()) != null) {
System.out.println(decodedString);
}
in.close();
}catch(Exception e){
e.printStackTrace();
}
}
我建议你使用一个真正的HTTP客户端库,如Apache HttpClient库。 您很有可能错过了请求中的某些内容或错误地编码了某些内容。
该库提供了一个更简单的接口来处理,所以你可以传入诸如HTTP参数的键值参数之类的东西,它就可以工作。
此外,您似乎将您的授权请求附加到您的网址参数中。 您需要为该请求发出POST请求。 在你现在的实现中,你必须在Body中发送它,这在纯Java中可能会很笨拙。
我强烈建议使用HttpClient库,并告诉我们是否帮助你。
链接地址: http://www.djcxy.com/p/68433.html上一篇: Shopify OAuth step 2 issue
下一篇: How to get glyph unicode representation of Unicode character