Android Volley POST String im Körper

Ich versuche, mithilfe der Volley-Bibliothek mit meiner RESTful-API zu kommunizieren.

Ich muss einen String in den Körper POSTEN, wenn ich nach dem Inhaber-Token frage. Die Zeichenfolge sollte folgendermaßen aussehen: grant_type = password & username = Alice & password = password123 Und die Kopfzeile: Content-Type: application / x-www-form-urlencoded

Weitere Informationen zu WebApi Individual Accounts:http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api

Leider kann ich nicht herausfinden, wie ich es lösen kann ..

Ich versuche so etwas:

StringRequest req = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        VolleyLog.v("Response:%n %s", response);
                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        VolleyLog.e("Error: ", error.getMessage());
                    }
                }){
                    @Override
                    protected Map<String, String> getParams() throws AuthFailureError {
                        Map<String, String> params = new HashMap<String, String>();
                        params.put("grant_type", "password");
                        params.put("username", "User0");
                        params.put("password", "Password0");
                        return params;
                    }

                    @Override
                    public Map<String, String> getHeaders() throws AuthFailureError {
                        Map<String, String> headers = new HashMap<String, String>();
                        headers.put("Content-Type", "application/x-www-form-urlencoded");
                        return headers;
                    }
                };

Ich bekomme die ganze Zeit 400 schlechte Anfragen. Ich denke, dass ich tatsächlich eine Anfrage wie diese sende:

grant_type:password, username:User0, password:Password0

Anstatt von:

grant_type=password&username=Alice&password=password123

Ich wäre sehr dankbar, wenn jemand irgendwelche Ideen oder einen Rat hat ..

Antworten auf die Frage(3)

Ihre Antwort auf die Frage