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

بررسی اشتراک کاربر توسط API بازار


berayan

سوال

سلام و درود 

اساتید ، من طبق مستندات بازار ، و توسط api  جزئیات اشتراک کاربرو میگیرم ، تا اینجا مشکلی ندارم ، اما اگر توکن ارسالی معتبر نباشه ، با توجه به خو مستندات بازار باید محتویات خطا در قالب جیسون برگرده ،  تا من بتونم باتوجه به اون به کاربر بگم مشکل از چیه ، اما مقدار برگشتی به لینک ایراد میگیره ( وقتی توکن نا معتبر میزارم) و هیچ جیسونی بر نمیگردونه 

خطا هم دقیقا به لینک میگیره اما لینک فق توکن نا معتبر داره و هیچ تغییری نکرده ، کدها رو میزارم ببیند در گرفتن خطا کجا اشتباه کردم ،

public class AsyncTaskGetData extends AsyncTask {

    public  String link="";
    public  AsyncTaskGetData(String link){
        this.link=link;
    }
    @Override
    protected Object doInBackground(Object[] params) {



        try {
            URL url = new  URL(link);
            URLConnection connection=url.openConnection();
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));// خطا هم تو اینجا رخ میده
            StringBuilder  builder = new StringBuilder();
            String line =  null;
            while((line=reader.readLine())!=null){
                builder.append(line);
            }
            barresi.data_get = builder.toString();          // اگر توکن درست باشه که اطلاعات برمیگردن تو این  متغیر
            // 

        } catch (MalformedURLException e) {
            System.out.println(e.getMessage());// مشکل من با این 
     
        } catch (IOException e) {
            System.out.println(e.getMessage());// مشکل من با این
   
        }
          return "";
    }
}

 

طبق مستندات بازار   هیچ کدام از اطلاعات پایین بر نمیگرده ، یعنی من نمیدونم دقیقا چطور باید بگیرم 

 

در صورتی که به هر دلیل، درخواست معتبر نباشد، پاسخی با کد وضعیت 40X و در قالب JSON دریافت خواهید کرد که دارای یک کلید error با محتوای خطای ایجاد شده‌ و کلید error_desciption با شرحی بیشتر درباره خطا است. به عنوان مثال در صورتی که اشتراک موردنظر یافت نشود، پاسخ بازگشتی با کد وضعیت 404 و به صورت زیر خواهد بود:

 

{
   "error": "not_found",
   "error_description": "no subscription found!",
}کپی کرد
توجه: تنها اگر Error برابر با مقدار not_found باشد، کاربر، اشتراک فعالی در زمان دریافت درخواست نداشته است. به دلیل اختلاف زمان بین درخواست تا پاسخ، نتیجه موفق درخواست لزوما به معنای فعال بودن اشتراک نیست. برای اطمینان از فعال بودن اشتراک مقدار validUntilTimestampMsec را با زمان فعلی مقایسه کنید.

 

در جدول زیر خطاهای ممکن به همراه توضیحات آمده است:

 

reason status code error_description error
مقدار package_name معتبر نیست. 404 Package name is invalid invalid_value
کاربر اشتراک فعال ندارد. 404 no subscription found! not_found
مقدار توکن معتبر نیست. 404 token not found! not_found
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

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

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

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

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

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

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