認証プロセスのステップ 2 のリクエストを送信しようとすると、リクエストをhttps://hamill-murazik-and-johnston6698.myshopify.com/admin/oauth/access_tokenに送信するときに http 400 エラーが発生します。
ステップ 1 を通過して一時コードを取得できます。しかし、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();
}
}