2013-03-15 3 views
0

Je me connecte à Restful Web Service et d'obtenir une réponse JSON.Https post requête avec réponse json erreur android

Je suis en mesure d'envoyer la demande et traiter la réponse dans un objet JSON, mais le problème est que je reçois une erreur:

Invalid api_key(is a parameter that I send,but I am sure is right). 

Pouvez-vous s'il vous plaît aidez-moi à comprendre s'il y a un problème dans mon code ou de WEB?

HttpClient httpClient = new DefaultHttpClient(); 
httpClient.getConnectionManager().getSchemeRegistry().register(new Scheme("SSLSocketFactory", SSLSocketFactory.getSocketFactory(), 443)); 
HttpPost request = new HttpPost(); 
request.setHeader("Content-type", "application/json, charset=utf-8"); 
request.setHeader("Accept", "application/json"); 
URI targetUri = new URI(TARGET_URL); 
request.setURI(targetUri); 
List<NameValuePair> postParameters = new ArrayList<NameValuePair>(); 
postParameters.add(new BasicNameValuePair("api_key", "api_key")); 
postParameters.add(new BasicNameValuePair("user[email]", email)); 
postParameters.add(new BasicNameValuePair("user[password]",pwd)); 

Log.i("","EMAIL REQUEST: "+email.toString()); 
Log.i("","PWD REQUEST: "+pwd.toString()); 
HttpEntity postEntity = new UrlEncodedFormEntity(postParameters,"UTF-8"); 
request.setEntity(postEntity); 
Log.i("","Request header "+request.getRequestLine()); 
Log.i("","Request : " +EntityUtils.toString(request.getEntity())); 

httpClient.execute(request, myResponseHandler); 
+0

le constructeur de schéma prend la valeur du schéma en argument. dans votre cas, "https", pas "SSLSocketFactory". – njzk2

+0

alors vous déclarez l'application de type content/json, mais vous êtes vraiment sendind application/x-www-form-urlencoded – njzk2

+0

alors vous ne semblez rien faire avec le résultat de l'exécution? – njzk2

Répondre

0

On dirait que le service que vous abordez expectes une valeur réelle dans l'API KEY: postParameters.add(new BasicNameValuePair("api_key", "apy_key"));

Remplacer le deuxième opérande au apikey vous a été donné.

+0

Oui, j'ai écrit apy_key pour la vie privée, mais c'est un code spécifique – user2173922

+0

J'ai aussi imprimé la réponse STATUS LINE et est 401, cela signifie, peut-être, que quelque chose est incorrect dans les paramètres que j'envoie. – user2173922