Search code examples
javahttpsgoogle-oauth

Send an authentication request to Google


I would like a Send an authentication request to Google. But I get the error: Exception in thread "main" java.io.IOException: Server returned HTTP response code: 400 for URL.

Can someone help me and say where the error lies?

My code looks as follows:

public class Main
{
    public static void main( String... args ) throws Exception
    {     
       String httpsURL  ="\n" +
                " client_id=xxx.apps.googleusercontent.com&\n" +
                " response_type=code&\n" + // "code" is an Basic Value
                " scope=openid%20email&\n" +
                " redirect_uri=http://localhost&\n" +
                " state=security_token%3D138r5719ru3e1%26url%3Dhttps://oauth2-login-demo.example.com/myHome&\n" +
                " [email protected]\n";
        String inputLine;

        String httpsencode ="https://accounts.google.com/o/oauth2/v2/auth?" + URLEncoder.encode(httpsURL, "UTF-8");

        URL u = new URL(httpsencode);        
        HttpsURLConnection con = (HttpsURLConnection)u.openConnection();
        InputStream ins = con.getInputStream();
        InputStreamReader isr = new InputStreamReader(ins);
        BufferedReader in = new BufferedReader(isr);

        while ((inputLine = in.readLine()) != null)
        {
            System.out.println(inputLine);
        }
        in.close();            
    }
}

Solution

  • Try to remove all yours "\n" in httpsURL. You don't need new line char between 2 GET arguments.

    Edit : http error code 400 explained here : http://www.checkupdown.com/status/E400.html