ত্রুটি: স্থিতি {স্থিতি কোড = DEVELOPER_ERROR, রেজোলিউশন = নাল}


108

আমি জিপিপ্লাস সাইন ইন ব্যবহার করছি, এবং এই সময়ে ত্রুটি পেয়ে আমিঅ্যাক্টিভিটিস রেজাল্টে আছি ....

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
    client.onActivityResult(requestCode, resultCode, data);

    if (requestCode == 0) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        if (result.isSuccess()) {

            GoogleSignInAccount acct = result.getSignInAccount();
//                Log.d("Result","details"+ acct.getDisplayName() + acct.getEmail());

            mEmail = acct.getEmail();
            String mFullName = acct.getDisplayName();
            String mGoogleplusId = acct.getId();


            SocialUser user = new SocialUser();
            user.setType("googleplus");

            user.setEmail(mEmail);
            user.setFullname(mFullName);
            user.setId(mGoogleplusId + "");
            loginParams.put("email_id", mEmail);
            loginParams.put("googlePlusId", mGoogleplusId);
            loginParams.put("full_name", mFullName);
            loginParams.put("registrationType", "googleplus");
            SignUpService(user);


        } else {
            Toast.makeText(CustomerLogIn.this, "Unable to fetch data, Proceed manually", Toast.LENGTH_SHORT).show();
        }
    }
}

এবং আমি জিপ্লাস লগইন বোতাম ক্লিক ক্লিক করছি। ক্ল্যাকিং বোতামে নিম্নলিখিত কোডটি কার্যকর করা হয় ....

 GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .build();
    mGoogleApiClient = new GoogleApiClient.Builder(CustomerLogIn.this)

            .addApi(Auth.GOOGLE_SIGN_IN_API, googleSignInOptions)
            .build();


    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
    startActivityForResult(signInIntent, 0);

এবং আমি এই ত্রুটি জিটং করছি ...

Status{statusCode=DEVELOPER_ERROR, resolution=null}

এই লাইনে ....

GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);

দয়া করে সমাধানটি পরামর্শ দিন।


4
অ্যাপ্লিকেশনটি ভুল কনফিগার করা হয়েছে। গুগল এপিআই কনফিগারেশন পরীক্ষা করুন।
1'hafs

6
হ্যাঁ তবে আমি কী ভুল তা খুঁজে পেতে সক্ষম নই।
গুরবিন্দর সিং

আমি ফায়ারবেস ব্যবহার করি না আমার সমাধানটি এখানে দেখুন: stackoverflow.com/a/46828895/1160216
মাইক মিলার

উত্তর:


220

আপনাকে ফায়ারবেস কনসোল কনফিগারেশনে আপনার SHA1 কী যুক্ত করতে হবে। আপনি এটি এইভাবে করতে পারেন:

ফায়ারবেস কনসোল ( https://console.firebase.google.com ) -> আপনার প্রকল্প -> কনফিগারেশন -> এতে স্ক্রোল করুন

এখানে চিত্র বর্ণনা লিখুন

অ্যান্ড্রয়েড স্টুডিও থেকে আপনার SHA1 কী চলমান "সাইন ইন রিপোর্ট" সন্ধান করতে পারেন:

এখানে চিত্র বর্ণনা লিখুন

তারপরে, "রান ট্যাব" দেখুন এবং বোতামটি ক্লিক করুন:

এখানে চিত্র বর্ণনা লিখুন

আমি মনে করি এটি সহজ উপায়। এই সাহায্য আশা করি।


4
গুগল বিকাশকারী কনসোল থেকে SHA-1 মুক্তি পাওয়ার সহজ উপায় এখানে: stackoverflow.com/a/50124038/4923891
এরেন

ফায়ারবেস কনসোলে সেই SHA কীটি রাখা উচিত তা বুঝতে আমার সমস্যা হয়েছিল। অবশেষে এটি খুঁজে পেয়েছি। ওপেন প্রকল্প সেটিংস> নীচে স্ক্রোল করুন, ফিঙ্গারপ্রিন্ট যোগ করুন,> আপনার রয়েছে SHA কী রাখুন ডাউনলোড নতুন Google-services.json এবং স্থান এটি Android অ্যাপ্লিকেশান মধ্যস্থ \ অ্যাপ্লিকেশন
paakjis

4
বিঃদ্রঃ! যদিও ফায়ারবেস কনসোলের SHA-256 কী হ্যাশের জন্য একটি স্থান রয়েছে, আপনি SHA-1 কী প্রবেশ করতে হবে। SHA-256 এখনও আপনাকে ত্রুটি দেবে
f.khantsis

সহায়ক ধন্যবাদ!
পূজা

31

সম্ভবত আপনি নিজের প্রোডাকশন টোকেনের SHA1 ব্যবহার করে কনফিগারেশন ফাইলটি তৈরি করেছেন androiddebugkey, আপনার অ্যাপ্লিকেশনটির ডিবাগ সংস্করণের সাথে সম্পর্কিত SHA1 সংগ্রহ করার জন্য উপনামটি ব্যবহার করুন এবং কনফিগারেশন ফাইলটি 'অ্যাপ' ডিরেক্টরিতে অনুলিপি করুন, আপনার উভয় কনফিগারেশন ফাইল থাকতে হবে (একটির জন্য ডিবাগ উদ্দেশ্যে এবং অন্য উত্পাদন পরিবেশের জন্য)।

Https://developers.google.com/identity/sign-in/android/start এ প্রকাশিত ওয়াকথ্রু ভিত্তিক


5
আমার ত্রুটিটি স্থির হয়েছিল যখন আমি OAuth 2.0 ক্লায়েন্ট আইডির জন্য অ্যান্ড্রয়েড ক্লায়েন্টের পরিবর্তে ওয়েব ক্লায়েন্টের শংসাপত্রগুলিতে স্যুইচ করেছি। আমি এখনও একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিকাশ করছি যা একটি ওয়েব সার্ভারের সাথে কথা বলে ... শব্দটি এখনও আমাকে বিভ্রান্ত করেছে ... তবে ত্রুটিটি কমপক্ষে চলে গেছে
বুড়িটো

12

আমার একই সমস্যা ছিল এবং আমি এই পদক্ষেপগুলি করে এটি কাজ করেছিলাম:

1. ফায়ারবেস প্রকল্পে DEBUG_KEYSTORE SHA1 আঙুলের ছাপ যুক্ত করুন। নিম্নলিখিত কমান্ডটি ব্যবহার করুন (ম্যাক / লিনাক্স)

  keytool -exportcert -list -v \-alias androiddebugkey -keystore ~/.android/debug.keystore  

২.এখন আপনার প্রকল্পের একটি স্বাক্ষরিত এপিপি তৈরি করুন। প্রক্রিয়াটিতে আপনার অ্যাপ্লিকেশনটির প্রকাশ সংস্করণটির জন্য একটি কীস্টোর তৈরি করা অন্তর্ভুক্ত।

  Copy the path of the newly generated .jks file.

3. এখন নিম্নলিখিত কমান্ডটি ব্যবহার করে RELEASE_KEYSTORE SHA1 ফিঙ্গারপ্রিন্ট উত্পন্ন করুন

  keytool -list -v -keystore FULL_PATH_TOJKS_FILE -alias ALIAS_NAME

4. আউটপুট থেকে নতুন SHA1 অনুলিপি করুন এবং আপনার ফায়ারবেস অ্যাপ্লিকেশন কনসোলে এটি অন্য SHA1 ফিঙ্গারপ্রিন্ট হিসাবে যুক্ত করুন।

এখন আপনি যেতে ভাল! ---- আশা করি! এটা সাহায্য করে.


এই প্রকাশিত শাম 1 কেবল এই ত্রুটিটি পাচ্ছে, গুগল সাইন ইন, অ্যানালিটিক্স এবং জিসিএম, একক ফাইলের জন্য google_services.xML উত্পন্ন করবে
হর্ষ 11

নিশ্চিত হয়ে নিন যে আপনার sha1 অ্যাপটির 'রিলিজ' সংস্করণে রয়েছে 'ডিবাগ' সংস্করণ নয়
উদিত কাপাহী

হা হ্যাঁ স্বাক্ষরিত এপিপি তৈরি করছে এবং অ্যাপস্টোরেও প্রকাশিত হচ্ছে, যে জ্যাকস এবং কীস্টোরের পাসওয়ার্ডগুলি কেবল ব্যবহার করছি
হর্ষা

আমার ওপেন এসএসএল ওপেনএসএল-০.৯.৮ কে_ডব্লিউআইএন 32 বিকাশের জন্য প্রিভিওগুলি ব্যবহার করছে
হর্ষ

keytool একটি পাসওয়ার্ড প্রয়োজন : "অ্যান্ড্রয়েড"
গুগলি

11

এখানে চিত্র বর্ণনা লিখুন

আমি যেভাবে এটি স্থির করেছি তা হাইলাইট করা পাঠ্যের সাথে সম্পর্কিত কীটি বাছাই করে। ফায়ারবেসের ডকুমেন্টেশন পৃষ্ঠায় 'সার্ভার' শব্দের বিভ্রান্তিকর ব্যবহারের কারণে আমি এইটি তুলছিলাম Server key। যা ছিল সমস্যার কারণ।

আপনি কীটি এখানে খুঁজে পেতে পারেন ।


ধন্যবাদ! আমার ক্ষেত্রে কাজ করেছে। আমার মনে হয় এটি কোনওভাবে নিজস্ব ব্যাকএন্ড সার্ভার ব্যবহারের সাথে সংযুক্ত হয়েছে (এবং গুগল সাইন ইনতে "অনুরোধ সার্ভারআউথকোড" এর জন্য কল করা)
ITurchenko

5

আমার একই সমস্যা ছিল, আমি কীভাবে এটি সমাধান করেছি তা হ'ল আমার গ্রেড ফাইলটিতে আমার ম্যানিফেস্ট ফাইলের প্যাকেজের নামের চেয়ে আলাদা অ্যাপ্লিকেশন ছিল। এবং আমি jSON ফাইল তৈরি করতে অ্যাপ্লিকেশনআইডি ব্যবহার করতাম। আমার অ্যাপ্লিকেশন আইডিতে আমার প্যাকেজের নামটি পরিবর্তন করতে হয়েছিল এবং এটি আমার জন্য এটি স্থির করেছিল।


4
আমি সর্বদা ভেবেছিলাম ম্যানিফেস্টে থাকা প্যাকেজটি গ্রেডে সংজ্ঞায়িত অ্যাপ্লিকেশন আইডির দ্বারা ওভাররাইড করা হয়েছিল। ব্যাপারটা কি না?
ফ্লো আমরা

3

এখানে প্রদত্ত উত্তরের বিকল্প হিসাবে, আপনি কয়েকটি বোতামের ক্লিকের মাধ্যমে আপনার প্রকল্পে স্বয়ংক্রিয়ভাবে আপনার SHA-1 যুক্ত করতে অ্যান্ড্রয়েড স্টুডিওর ফায়ারবেস সহায়ক ব্যবহার করতে পারেন।

অ্যান্ড্রয়েড স্টুডিওতে যান Tools > Firebase > Select 'Authentication'এবং যে লিঙ্কটি বলেছেন তাতে ক্লিক করুন 'Email and password authentication'

এটি আপনার প্রকল্পে প্রমাণীকরণকে কীভাবে সংহত করতে হয় তার একটি সামান্য টিউটোরিয়াল এনে দেবে, তবে যেহেতু আপনি সম্ভবত এটি সমস্ত কাজ করেছেন, কেবল ক্লিক করুন 'Connect to Firebase'এবং আপনি সম্পন্ন করেছেন।


3

এটি একটি পুরানো প্রশ্ন, তবে আমি ইদানীং ত্রুটি 10 ​​(DEVELOPER_ERROR) দিয়ে আটকে গিয়েছি, কারণ আমি অ্যান্ড্রয়েড ক্লায়েন্ট আইডি ব্যবহার করছিলাম, আমি গুগল বিকাশকারী কনসোলে তৈরি করেছি।

আমার জন্য সমাধানটি হ'ল গুগল বিকাশকারী কনসোলে অ্যান্ড্রয়েড শংসাপত্রগুলি কেবলমাত্র আমার এপকের এসএইচএ কীটি চিহ্নিত করতে এবং আমার কর্ডোভা অ্যাপ্লিকেশনটিতে গুগল বিকাশকারী কনসোলের ওয়েব অ্যাপ্লিকেশন (!) শংসাপত্রগুলির ব্যবহার করতে।

config.xml:

<plugin name="cordova-plugin-googleplus" spec="^5.3.0">
    <variable name="REVERSED_CLIENT_ID" value="com.googleusercontent.apps.[web-application-client-id]" />
    <variable name="WEB_APPLICATION_CLIENT_ID" value="[web-application-client-id].apps.googleusercontent.com" />
</plugin>

কোড:

window.plugins.googleplus.login(
    {
       'webClientId': '[web-application-client-id].apps.googleusercontent.com'
    }, 
    ...

আমি ফায়ারবেস ব্যবহার করি না


আপনাকে অনেক ধন্যবাদ, এটি আমার অনেক সময় সাশ্রয় করেছে। প্রকৃতপক্ষে স্বয়ংক্রিয়ভাবে উত্পাদিত ওয়েব ব্যবহার client idকরা DEVELOPER_ERROR সমস্যা সমাধান করেছে। যদিও আমার কাছে এটি কোনও তাৎপর্যপূর্ণ নয় এবং এটি স্পষ্ট নয় যে পৃথক ক্লায়েন্ট আইডি ব্যবহার করা উচিত।
মাইরোস্লাভ কলোদাই

3

আপনি ভুল SHA1 কী উত্পন্ন এবং যুক্ত করেছেন। অ্যান্ড্রয়েড স্টুডিওতে SHA1 কী উত্পন্ন করতে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

  1. গ্রেডলে ক্লিক করুন (ডান দিকের প্যানেল থেকে, আপনি গ্রেডল বার দেখতে পাবেন)
  2. রিফ্রেশ ক্লিক করুন (গ্রেডেল বার থেকে রিফ্রেশ ক্লিক করুন, আপনি আপনার প্রকল্পের তালিকা গ্রেড লিপি দেখতে পাবেন)
  3. আপনার প্রকল্পে ক্লিক করুন (আপনার প্রকল্পের নাম ফর্মের তালিকা (মূল))
  4. টাস্কগুলিতে ক্লিক করুন
  5. অ্যান্ড্রয়েড ক্লিক করুন
  6. সাইন ইনআরএবংআর উপর ডাবল ক্লিক করুন (আপনি রান বারে SHA1 এবং MD5 পাবেন (কখনও কখনও এটি গ্রেডেল কনসোলে থাকবে))

এখন আপনার ফায়ারবেস অ্যান্ড্রয়েড প্রকল্পে এই SHA1 কীটি যুক্ত করুন।


3

অ্যান্ড্রয়েড প্রকল্পের মূলটিতে সঠিক জসন ফাইলটি রাখুন
আরও পড়ুন এখানে দেখুন: https://coderzpassion.com/android-working-latest-google-plus-login-api/


সেই জসন যুক্ত করা কি বাধ্যতামূলক, আমরা আগে এটি না করেই ব্যবহার করব?
গুরবিন্দর সিং

আমি সঠিক কনফিগারেশন সহ সঠিক ফাইলটি রেখেছি, তবুও ত্রুটি রয়েছে
বিবাসওয়ান বন্দ্যোপাধ্যায়

1

ত্রুটিটি ঘটে কারণ ডিবাগ বা রিলিজ কী এর SHA-1 চেকসামটি ফায়ারবেস / গুগল কনসোলের অন্তর্ভুক্ত নয়।

নিম্নলিখিত কমান্ডটি ব্যবহার করে প্রথমে কী উত্পন্ন করুন:

keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME

তারপরে SHA-1 চেকসামটি অনুলিপি করুন এবং এতে যান:

ফায়ারবেস কনসোল> আপনার প্রকল্প> অ্যাপের সেটিংস> আঙ্গুলের ছাপ যুক্ত করুন


1

আমার পক্ষে এটি কার্যকর ছিল যখন আমি এটি প্রথম প্রয়োগ করি, তবে উল্লিখিত ত্রুটি বার্তাটি দিয়ে কিছুদিন বিকাশের পরে বন্ধ হয়ে যায়।

আমি এই পদক্ষেপগুলি দিয়ে সমস্যার সমাধান করেছি:

  1. আমি ইতিমধ্যে ফায়ারবেস কনসোলটিতে থাকা শ -1 ফিঙ্গারপ্রিন্টের উপরে শ -২66 ফিঙ্গারপ্রিন্ট যুক্ত করেছি। (এই পদক্ষেপের প্রয়োজন হয় কিনা তা নিশ্চিত নয়)
  2. আমি আবার google-Services.json ফাইল ডাউনলোড করে পুরানো ফাইলটি প্রতিস্থাপন করেছি।
  3. অ্যাপটি পুনরায় ইনস্টল করুন

এবং এটা কাজ করে


0

আমি আমার ফায়ারবেস অ্যাপে এই ত্রুটিটি পেরিয়ে এসেছি। আমি requestIdToken(activity.getString(R.string.default_web_client_id))নীচের অংশটি যুক্ত করার পরে এটি ঠিক করা হয়েছিল ।

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail().requestIdToken(activity.getString(R.string.default_web_client_id))
        .build();

    apiClient = new GoogleApiClient.Builder(activity)
        .addConnectionCallbacks(this)
        .enableAutoManage(activity, this)
        .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
        .build();

    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(apiClient);
    activity.startActivityForResult(signInIntent, RC_GOOGLE_SIGN_IN);

ডিফল্ট_উইব_ক্লিয়েন্ট_আইডি কী? কোথা থেকে পাব?
আয়মান আল-আবসি

@ আয়মান-আবসী আপনি গুগল পরিষেবাগুলির জন্য আপনার প্রকল্পটি সঠিকভাবে সেট আপ করেছেন? দেখুন: developers.google.com/android/guides/google-services-plugin
ড্যান ব্রু

4
@ আয়মান-আবসী আপনি এই ফাইলটিতে আপনার google-service.json ফাইল থেকে "ডিফল্ট_ওয়েব_ক্লিয়েন্ট_আইডি" পেতে পারেন আপনি সেই ট্যাগটিতে ক্লায়েন্ট_আইডি ট্যাগ দেখতে পাবেন আপনি কেবলমাত্র সেই পাঠ্যটি অনুলিপি করেছেন (ক্লায়েন্ট_আইডি) <[ক্লায়েন্ট_আইডি]। অ্যাপ্লিকেশন।
যুবরাজ ধোলাকিয়া

0

আমি যখন আমার জিএসএন কনফিগারেশন ফাইলটিকে একটি নতুন গুগল অ্যাকাউন্ট দিয়ে আপডেট করেছি তখন আমি এই ত্রুটিটি পেয়েছি।

অ্যাপ্লিকেশনটি ম্যানুয়ালি আনইনস্টল করা এবং অ্যাপটি পুনরায় ইনস্টল করা আমার পক্ষে কাজ করেছে।


0

যে কোনও অ্যাপ্লিকেশন প্রকাশের জন্য, আপনার কীস্টোর ফাইল থেকে একটি বিশেষ ফিঙ্গারপ্রিন্ট প্রয়োজন। আমি প্রকাশের সংস্করণে কেন এই ত্রুটিটি পাচ্ছিলাম তা অবাক হওয়ার কিছু নেই। অ্যান্ড্রয়েডে OAuth 2.0 এর জন্য কীভাবে সাইনিং শংসাপত্রের ফিঙ্গারপ্রিন্ট (SHA1) পাবেন?


0

ফায়ারবেস কনসোলে প্রমাণীকরণের অধীনে আপনি Google সাইন-ইন সক্ষম করেছেন তা নিশ্চিত করুন।


0

আমি এই লাইনে ডান সার্ভার_সামগ্রী_আইডি ব্যবহার করে আমার সমস্যার সমাধান করেছি :

String serverClientId = getString(R.string.server_client_id);

আমি ভুল কোড ব্যবহার করেছি।


0

গুগল লগইনের মতো কিছু পরিষেবাদির জন্য আপনার ফায়ারবেস কনসোলে SHA1 ফিঙ্গারপ্রিন্ট যুক্ত করা দরকার।

আমি ফায়ারবেস কনসোলে এসএএএ ফিঙ্গারপ্রিন্ট যুক্ত মিস করেছি। আপনি ফায়ারবেস কনসোল> প্রকল্প সেটিং> ফিঙ্গারপ্রিন্ট বিকল্প যুক্ত করে এটি করতে পারেন।

আপনি খুব সহজ উপায়ে SHA1 ফিঙ্গারপ্রিন্ট তৈরি করতে পারেন https://www.youtube.com/watch?v=FczARQ244GE

এর পরে আমি আরও একটি ভুল করছিলাম

জেনারেশনের পরে SHA1 কী ফোম পদ্ধতিটি উপরে। আমি ভুল অবৈধ SHA1 কী অনুলিপি করেছিলাম যা একটি মেয়াদোত্তীর্ণ। সুতরাং আপনি যে SHA1 কীটি উপরের আউটপুট থেকে অনুলিপি করছেন তা বৈধ কিনা তা নিশ্চিত করুন (এসএইচএ 1 কী এর বৈধ অবিরত মানটিও পরীক্ষা করুন)

এছাড়াও নিশ্চিত করুন যে আপনি ফায়ারবেসে যে প্যাকেজটির নাম (xyz) যুক্ত করেছেন সেটি আপনার অ্যান্ড্রয়েড কোডে ব্যবহৃত একই।

সঠিক অ্যাপিড ব্যবহার করার বিষয়টি নিশ্চিত করুন


0

দীর্ঘ নিমন্ত্রণের পরে আমি একটি সমাধান খুঁজে পেয়েছি। আসলে এই ত্রুটিটি Error: Status{statusCode=DEVELOPER_ERROR, resolution=null}ভুল SHA-1 বা ভুল প্যাকেজের নাম বা অন্য কিছুতে নির্দেশ করে। আমার ক্ষেত্রে, আমি debugআমার প্যাকেজের নাম com.sample.app=> এর শেষে কীওয়ার্ড যুক্ত করব addcom.sample.app.debug


0

আমি এই সমস্যাটির সাথে লড়াই করেছি কারণ আমি প্যাকেজের নাম পরিবর্তন করে আমার আবেদনের একটি অনুলিপি তৈরি করেছি। আমি ফায়ারবেসে এটির জন্য একটি নতুন প্রকল্প যুক্ত করছি। আমার ভুলটি হ'ল আমি নতুন ফায়ারবেস প্রকল্পের সার্ভারের ক্লায়েন্ট আইডিটিকে পরিবর্তন করতে ভুলে গিয়েছিলাম।

ফায়ারবেস সেক্টোইন সহ লেখার অধীনে আরও বিশদ এখানে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.