6

que intento hacer la autenticación mediante ClientLoginGoogle autenticación ClientLogin

URL url = new URL("https://www.google.com/accounts/ClientLogin"); 
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
connection.setDoOutput(true); 
connection.setRequestMethod("POST"); 

connection.setRequestProperty("Email", "testonly%2Ein%2E2011%40gmail%2Ecom"); 
connection.setRequestProperty("Passwd", "mypass"); 
connection.setRequestProperty("accountType", "HOSTED"); 
connection.setRequestProperty("service", "apps"); 
connection.connect(); 

pero me da Error=BadAuthentication. ¿Cómo debería corregir mi código?

+0

Lo manejo en la plataforma GAE, si es asunto –

Respuesta

5

Debe establecer el application/x-www-form-urlencoded Content-type adecuado y usar el OutputStream para escribir el cuerpo POST.

//Open the Connection 
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
urlConnection.setRequestMethod("POST"); 
urlConnection.setDoInput(true); 
urlConnection.setDoOutput(true); 
urlConnection.setUseCaches(false); 
urlConnection.setRequestProperty("Content-Type", 
           "application/x-www-form-urlencoded"); 

// Form the POST parameters 
StringBuilder content = new StringBuilder(); 
content.append("Email=").append(URLEncoder.encode(youremail, "UTF-8")); 
content.append("&Passwd=").append(URLEncoder.encode(yourpassword, "UTF-8")); 
content.append("&service=").append(URLEncoder.encode(yourapp, "UTF-8")); 
OutputStream outputStream = urlConnection.getOutputStream(); 
outputStream.write(content.toString().getBytes("UTF-8")); 
outputStream.close(); 

// Retrieve the output 
int responseCode = urlConnection.getResponseCode(); 
InputStream inputStream; 
if (responseCode == HttpURLConnection.HTTP_OK) { 
    inputStream = urlConnection.getInputStream(); 
} else { 
    inputStream = urlConnection.getErrorStream(); 
} 

Ver this ejemplo para manejar el resultado para obtener el token auth.

+0

+1 Muchas gracias. Lamentablemente, tendré la posibilidad de verificarlo solo mañana. –

Cuestiones relacionadas