🔥 ۴۰ درصد تخفیف ثبت‌نام دوره‌ها قبل از افزایش قیمت‌ها
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ پرویز زالی
ارور com.android.volley.ClientError در هنگام post
افشیده کهنمویی حل شده توسط افشیده کهنمویی

با سلام خدمت استاد گرامی و دوستان عزیز

موقع post کردن دیتا به سرور با ارور com.android.volley.ClientError مواجه میشم...

فکر می‌کنم باید accessToken یا secret_key برای این درخواست تو header ست بشه ولی روش کار رو نمیدونم ...هر چی سرچ کردم هم به جایی نرسیدم...
api من هم api نوشته‌های وردپرس هست

ممنون میشم راهنمایی بفرمایید

سلام. کدهاتون بهمراه متن خطارو بفرستید.

افشیده کهنمویی ۱۲ فروردین ۱۳۹۹، ۰۲:۴۰

سلام....ممنونم

متن خطا : com.android.volley.ClientError

JSONObject jsonObject = new JSONObject();
try {
    jsonObject.put("id",5);
}catch (JSONException e){
    e.printStackTrace();
}
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, "https://bartarleather.com/wp-json/wp/v2/posts", jsonObject, new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {
        Log.i(TAG, "onResponse: "+response);
    }
}, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.i(TAG, "onErrorResponse: "+error.toString());
    }
}) ;
final RequestQueue Postrequest = Volley.newRequestQueue(getContext());
Postrequest.add(jsonObjectRequest);
پرویز زالی ۱۲ فروردین ۱۳۹۹، ۰۸:۳۳

سلام. منظورم از متن خطا volley unexpected response code 400 بود. کدتون رو تست کردم خطارو خوندم.

ارور کد 400: Bad Request

آدرس داخل کدتون پارامتر آیدی رو دریافت نمیکنه و خود آدرس(بدون پارامتر)، پاسخ رو برمیگردونه، بنابراین مقدار پارامتر آیدی رو پست نکنید و بجای متغیر jsonObject مقدار null رو بگذارید:

JsonObjectRequest jsonObjectRequest =
                new JsonObjectRequest(Request.Method.POST,
                        "https://bartarleather.com/wp-json/wc/v3/orders?consumer_key=ck_c2dfe862aeb41be827eea911f128f5414bc7df7f&consumer_secret=cs_74fb39a358df42254f4aa92bfdab10b7370342b1"
                        , null,
                        new Response.Listener<JSONObject>() {
                            @Override
                            public void
                            onResponse(JSONObject response) {
                                Log.i(TAG, "onResponse: " + response);
                            }
                        },
                        new Response.ErrorListener() {
                            @Override
                            public void onErrorResponse(VolleyError error) {
                                Log.i(TAG, "onErrorResponse: " + error.toString());
                            }
                        });

 

بهترین پاسخ
افشیده کهنمویی ۱۲ فروردین ۱۳۹۹، ۰۹:۱۹