का उपयोग कर वेबएपीआई कॉल मैं वॉली स्ट्रिंग अनुरोध का उपयोग कर सर्वर से टोकन तक पहुंचने का प्रयास कर रहा हूं। मैंने एक JsonObjectRequest भी बनाने की कोशिश की है। दोनों नीचे हैं।वॉली
public void getAuthenticationTokens(Object param1, final CustomListener<String> listener)
{
//String url = prefixURL + "this/request/suffix";
String url = "https://lw.xxx.co.uk/connect/token";
StringRequest request = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>()
{
@Override
public void onResponse(String response) {
// response
Log.e("Response", response);
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error) {
// error
Log.e("Error.Response", error.networkResponse.toString());
}
}
) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> params = new HashMap<>();
params.put("Content-Type","application/x-www-form-urlencoded");
//..add other headers
return params;
}
@Override
protected Map<String, String> getParams()
{
Map<String, String> params = new HashMap<String, String>();
params.put("scope", "openid email phone profile offline_access roles");
params.put("resource", "window.location.origin");
params.put("grant_type", "password");
params.put("username", "[email protected]");
params.put("password", "tempPxxx");
return params;
}
};
requestQueue.add(request);
।
public void getAuthenticationTokens(Object param1, final CustomListener<String> listener)
{
//String url = prefixURL + "this/request/suffix";
String url = "https://lw.xxx.co.uk/connect/token";
Map<String, Object> jsonParams = new HashMap<>();
jsonParams.put("scope", "openid email phone profile offline_access roles");
jsonParams.put("resource", "window.location.origin");
jsonParams.put("grant_type", "password");
jsonParams.put("username", "[email protected]");
jsonParams.put("password", "tempPxxx");
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, new JSONObject(jsonParams),
new Response.Listener<JSONObject>()
{
@Override
public void onResponse(JSONObject response)
{
Log.d(TAG + ": ", "somePostRequest Response : " + response.toString());
if(null != response.toString())
listener.getResult(response);
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error)
{
if (null != error.networkResponse)
{
Log.e(TAG + ": ", "Error Response code: " + error.networkResponse.statusCode);
listener.getResult(null);
}
}
}){
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
// Map<String,String> params = super.getHeaders();
// if(params==null)params = new HashMap<>();
Map<String,String> params = new HashMap<>();
params.put("Content-Type","application/x-www-form-urlencoded");
//..add other headers
return params;
}
};
requestQueue.add(request);
।
E/Volley: [31388] BasicNetwork.performRequest: Unexpected response code 400 for https://lw.xxx.co.uk/connect/token
:
मैं सर्वर से निम्नलिखित प्रतिक्रिया मिल।
मेरे सहयोगी जिन्होंने सर्वर-साइड कोड लिखा है, ने एंड्रॉइड को निम्नलिखित कोणीय कोड (एपीआई के साथ काम करने वाला कोड) को परिवर्तित करने के लिए कहा है।
क्या कोई इससे मदद कर सकता है?
getLoginEndpoint(userName: string, password: string): Observable<Response> {
let header = new Headers();
header.append("Content-Type", "application/x-www-form-urlencoded");
let searchParams = new URLSearchParams();
searchParams.append('username', userName);
searchParams.append('password', password);
searchParams.append('grant_type', 'password');
searchParams.append('scope', 'openid email phone profile offline_access roles');
searchParams.append('resource', window.location.origin);
let requestBody = searchParams.toString();
return this.http.post(this.loginUrl, requestBody, { headers: header });
}
यह देखने के लिए खुशी हुई कि आपने इसे ठीक किया है। कृपया हमें बताएं कि वहां क्या समस्या है? –
@IntelliJAmiya हाय धन्यवाद। हां, क्षमा करें, मैंने एक उत्तर पर टिप्पणी पर जो किया मैंने अपडेट किया। दुर्भाग्य से उस व्यक्ति ने अपनी पोस्ट हटा दी, इसलिए मेरी टिप्पणी भी गायब हो गई। मैंने अभी अपना जवाब अपडेट कर लिया है। धन्यवाद – turtleboy