Android-Volley:如何使用承载访问令牌身份验证发送JSONObject

Android-Volley:如何使用承载访问令牌身份验证发送JSONObject,第1张

概述下午,我有以下代码:{"criteriaelement":[{"Value1":"03","FieldName":"InventLocationId","Operator":0,"DataSourceName":"SalesTable"}]}publi

下午,

我有以下代码:

{  "criteriaelement":  [  {    "Value1" : "03",   "FIEldname" : "InventLocationID",   "Operator" : 0,  "DataSourcename" : "Salestable"   }   ]}public  JsONObject crear_Json_object(){     JsONObject param= new JsONObject();     JsONArray criteria_e= new JsONArray();     JsONObject param_obj= new JsONObject();     //agregamos los parametros al JsONOBJECT     try{         param_obj.put("Value1","03");         param_obj.put("Operator",0);         param_obj.put("DataSourcename","Salestable");         param_obj.put("FIEldname","InventLocationID");         criteria_e.put(param_obj);            param.put("criteriaelement", criteria_e);         msgResponse.setText(param.toString());     }catch(Exception e){}          return param;}private voID get_sales_orders() {    //para enviar objetos Json en lugar de null se deben enviar...    JsonObjectRequest JsonObjReq = new JsonObjectRequest(Method.POST,            Const.ws_Salesorders, crear_Json_object(),            new Response.Listener<JsONObject>() {                @OverrIDe                public voID onResponse(JsONObject response) {                    Log.d(TAG, response.toString());                    msgResponse.setText(response.toString());                    //hIDeProgressDialog();                }            }, new Response.ErrorListener() {                @OverrIDe                public voID one rrorResponse(VolleyError error) {                    VolleyLog.d(TAG, "Error: " + error.getMessage());                    //hIDeProgressDialog();                }            }) {        //@OverrIDe    public Map<String, String> getheaders() throws AuthFailureError {            HashMap<String, String> headers = new HashMap<String, String>();            headers.put("Content-Type", "application/Json");            headers.put("Authorization", "Bearer "+access_token);            return headers;        }    };    // Adding request to request queue    myapplication.getInstance().addToRequestQueue(JsonObjReq,            "sales");}

我的Jsonobject格式正确(我在Google Chrome的POST扩展中对此进行了测试),并且当我在此扩展中使用此Web服务时,就可以使用…

但是,将其传递给Volley时,我会收到一个httpstatus代码400,这意味着这是一个错误的请求…
有人可以帮忙吗??,我不知道为什么它不起作用,我错过了什么吗?

解决方法:

我认为这是您需要的:

JsONObject parameters = new JsONObject();    try {        parameters.put("key", "value");    } catch (Exception e) {    }    JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, yourUrl, parameters,new Response.Listener<JsONObject>() {        @OverrIDe        public voID onResponse(JsONObject response) {            Log.i("onResponse", response.toString());        }    }, new Response.ErrorListener() {        @OverrIDe        public voID one rrorResponse(VolleyError error) {            Log.e("onErrorResponse", error.toString());        }    }) {        @OverrIDe        public Map<String, String> getheaders() throws AuthFailureError {            Map<String, String> headers = new HashMap<>();            // Basic Authentication            //String auth = "Basic " + Base64.encodetoString(CONSUMER_KEY_AND_SECRET.getBytes(), Base64.NO_WRAP);            headers.put("Authorization", "Bearer " + accesstoken);            return headers;        }    };    queue.add(request);
总结

以上是内存溢出为你收集整理的Android-Volley:如何使用承载访问令牌身份验证发送JSONObject全部内容,希望文章能够帮你解决Android-Volley:如何使用承载访问令牌身份验证发送JSONObject所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1088192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存