رفتن به مطلب
  • 0

ارسال درخواست به API بازار (روش جدید)


berayan

سوال

سلام ،

بازار  روش ارسال درخواست به API     تغییر داده ، و الان من تو پیاده سازیش به مشکل خوردم ،

مستنداتش اینه 

https://developers.cafebazaar.ir/fa/guidelines/in-app-billing/api/postman-and-bazaar-api-new

ولی در مکاتبه با پشتیبانی مستندات مشکلش این بود که متد GET  و Params گفته در صورتی که پشتیبانی گفت از POST و Headers باید استفاده بشه که درست بود ، اما با نرم افزار Postman .

حالا نمیدونم چطوری باید با کد پیادش کنم ، قبلا برا اکسس توکن از روش زیر استفاده میکردم ، کدش با این جابجا کردم .

 protected String doInBackground(String... arg0) {
        try {
            String url1 = "https://pardakht.cafebazaar.ir/devapi/v2/api/applications/پکیج نیم/active-subscriptions/توکن اشتراک";
            URL url = new URL(url1);
            JSONObject post = new JSONObject();
            post.put("CAFEBAZAAR-PISHKHAN-API-SECRET", "توکن برنامه");
            Log.e("Headers", post.toString());
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setReadTimeout(15000 /* milliseconds */);
            conn.setConnectTimeout(15000 /* milliseconds */);
            conn.setRequestMethod("POST");
            conn.setDoInput(true);
            conn.setDoOutput(true);
            OutputStream os = conn.getOutputStream();
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
            writer.write(getPostDataString(post));
            writer.flush();
            writer.close();
            os.close();
            int responseCode = conn.getResponseCode();
            if (responseCode == HttpsURLConnection.HTTP_OK) {
                BufferedReader in = new BufferedReader(new
                        InputStreamReader(
                        conn.getInputStream()));
                StringBuffer sb = new StringBuffer("");
                String line = "";
                while ((line = in.readLine()) != null) {
                    sb.append(line);
                    break;
                }
                in.close();
                return sb.toString();
            } else {
                return "false : " + responseCode;
            }
        } catch (Exception e) {
            return "Exception: " + e.getMessage();
        }
    }

اما خطا بر میگره با کد 401 ، ولی همین دیتا هارو با نرم افزار Postman  در  میفرستم ، اطلاعات خرید کاربر بر میگره ،

دوستان لطفا راهنمایی کنید ، تشکر

لینک ارسال
به اشتراک گذاری در سایت های دیگر

2 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

  • 0

حل شد

 

باید از روش زیر استفاده میکردم

    protected String doInBackground(String... arg0) {
        try {
            URL url = new URL("https://pardakht.cafebazaar.ir/devapi/v2/api/applications/پکیج نیم/active-subscriptions/توکن اشتراک/");
            HttpURLConnection myConnection = (HttpURLConnection) url.openConnection();

            myConnection.setRequestProperty("CAFEBAZAAR-PISHKHAN-API-SECRET" , "توکن برنامه");
            

            int responseCode = myConnection.getResponseCode();
            if (responseCode == HttpsURLConnection.HTTP_OK) {
                BufferedReader in = new BufferedReader(new
                        InputStreamReader(
                        myConnection.getInputStream()));
                StringBuffer sb = new StringBuffer("");
                String line = "";
                while ((line = in.readLine()) != null) {
                    sb.append(line);
                    break;
                }
                in.close();
                return sb.toString();
            } else {
                return "false : " + responseCode;
            }
        } catch (Exception e) {
            return "Exception: " + e.getMessage();
        }
    }

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 0
۱۹ ساعت قبل، berayan گفته است:

حل شد

 

باید از روش زیر استفاده میکردم

    protected String doInBackground(String... arg0) {
        try {
            URL url = new URL("https://pardakht.cafebazaar.ir/devapi/v2/api/applications/پکیج نیم/active-subscriptions/توکن اشتراک/");
            HttpURLConnection myConnection = (HttpURLConnection) url.openConnection();

            myConnection.setRequestProperty("CAFEBAZAAR-PISHKHAN-API-SECRET" , "توکن برنامه");
            

            int responseCode = myConnection.getResponseCode();
            if (responseCode == HttpsURLConnection.HTTP_OK) {
                BufferedReader in = new BufferedReader(new
                        InputStreamReader(
                        myConnection.getInputStream()));
                StringBuffer sb = new StringBuffer("");
                String line = "";
                while ((line = in.readLine()) != null) {
                    sb.append(line);
                    break;
                }
                in.close();
                return sb.toString();
            } else {
                return "false : " + responseCode;
            }
        } catch (Exception e) {
            return "Exception: " + e.getMessage();
        }
    }

 

درود

برای ارتباط با سرور بهتره از کتابخونه های قدرتمندتری مثه رتروفیت یا okhttp استفاده کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
  • اضافه کردن...