Ich möchte einen POST JSONObjectRequest mit urlcodierten Formparametern erstellen. Wie kann ich das machen? Ich habe den folgenden Code versucht, aber ohne Erfolg.
final String api = "http://api.url";
final JSONObject jobj = new JSONObject();
jobj.put("Username", "usr");
jobj.put("Password", "passwd");
jobj.put("grant_type", "password");
final JsonObjectRequest jor = new JsonObjectRequest(
Request.Method.POST,
api, jobj,
new Response.Listener() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(getApplicationContext(), "Login erfolgreich!", Toast.LENGTH_LONG).show();
//andere Dinge mit dem empfangenen JSONObject machen
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "Fehler!", Toast.LENGTH_LONG).show();
}
}) {
@Override
public Map getHeaders() throws AuthFailureError {
Map pars = new HashMap();
pars.put("Content-Type", "application/x-www-form-urlencoded");
return pars;
}
};
//der Anforderungswarteschlange hinzufügen
requestqueue.AddToRequestQueue(jor);
Ich erhalte einen 400 Bad Request mit dem API-Aufruf! Wie kann ich das beheben?