Kesalahan: Status {statusCode = DEVELOPER_ERROR, resolusi = null}


102

Saya menggunakan masuk gplus, dan mendapatkan kesalahan ini pada saat saya berada di onActivityResult ....

@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();
        }
    }
}

Dan saya memanggil login gplus saat mengklik tombol. Pada tombol clcking kode berikut dijalankan ....

 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);

Dan saya mendapatkan kesalahan ini ...

Status{statusCode=DEVELOPER_ERROR, resolution=null}

di baris ini ....

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

Tolong sarankan solusinya.


1
Aplikasi salah dikonfigurasi. Periksa konfigurasi api google.
1'hafs

6
Ya, tetapi saya tidak dapat menemukan apa yang salah.
Gurvinder Singh

Saya tidak menggunakan firebase. Lihat solusi saya di sini: stackoverflow.com/a/46828895/1160216
Mike Miller

Jawaban:


213

Anda perlu menambahkan kunci SHA1 Anda ke konfigurasi konsol firebase. Anda dapat melakukannya dengan cara ini:

Konsol Firebase ( https://console.firebase.google.com ) -> proyek Anda -> konfigurasi -> gulir ke

masukkan deskripsi gambar di sini

Anda dapat menemukan kunci SHA1 Anda menjalankan "Laporan penandatanganan" dari Android Studio:

masukkan deskripsi gambar di sini

Kemudian, lihat "tab jalankan" dan klik tombol:

masukkan deskripsi gambar di sini

Saya pikir itu cara yang lebih mudah. Semoga bantuan ini.


1
berikut adalah cara termudah untuk mendapatkan rilis SHA-1 dari konsol pengembang google: stackoverflow.com/a/50124038/4923891
eren130

Saya kesulitan memahami di mana harus meletakkan kunci SHA itu di Firebase Console. Akhirnya menemukannya. Buka Pengaturan Proyek> Gulir ke Bawah, Tambahkan Sidik Jari, Letakkan kunci SHA Anda di sana> Unduh google-services.json baru dan letakkan android-app \ app
paakjis

1
Catatan! Meskipun konsol firebase memiliki ruang untuk hash kunci SHA-256, Anda HARUS memasukkan kunci SHA-1. SHA-256 masih akan memberi Anda kesalahan
f.khantsis

Bermanfaat. Terima kasih!
Pooja

30

Mungkin Anda membuat file konfigurasi menggunakan SHA1 dari token produksi Anda , menggunakan androiddebugkeyalias untuk mengumpulkan SHA1 yang sesuai dengan versi debug aplikasi Anda dan menyalin file konfigurasi ke direktori 'app', Anda harus memiliki kedua file konfigurasi (satu untuk tujuan debug dan lainnya untuk lingkungan produksi).

Berdasarkan panduan yang dipublikasikan di https://developers.google.com/identity/sign-in/android/start


5
Kesalahan saya telah diperbaiki saat saya beralih ke kredensial Klien Web dan bukan Klien Android untuk ID klien OAuth 2.0. Kata-katanya masih membingungkan saya saat saya mengembangkan aplikasi Android yang terhubung ke server web ... tetapi setidaknya kesalahannya hilang
Burrito

12

Saya memiliki masalah yang sama dan berhasil dengan melakukan langkah-langkah berikut:

1. Tambahkan sidik jari DEBUG_KEYSTORE SHA1 ke proyek firebase. gunakan perintah berikut (MAC / LINUX)

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

2. Sekarang buat apk yang ditandatangani dari proyek Anda. Prosesnya termasuk membuat keystore untuk versi rilis aplikasi Anda.

  Copy the path of the newly generated .jks file.

3. Sekarang buat sidik jari RELEASE_KEYSTORE SHA1 menggunakan perintah berikut

  keytool -list -v -keystore FULL_PATH_TOJKS_FILE -alias ALIAS_NAME

4. Salin SHA1 baru dari output dan tambahkan sebagai sidik jari SHA1 lain di konsol aplikasi firebase Anda.

Sekarang Anda siap berangkat! ---- Harapan! itu membantu.


yang merilis sha1 hanya menempatkan kemudian juga mendapatkan kesalahan ini, menghasilkan google_services.xml untuk masuk google, analytics dan gcm, file tunggal
Harsha

pastikan bahwa sha1 Anda adalah versi 'rilis' dari aplikasi bukan versi 'debug'
Udit Kapahi

Ha Ya saya menghasilkan apk yang ditandatangani dan diterbitkan di appstore juga, bahwa kata sandi jks dan keystore hanya saya gunakan
Harsha

ssl terbuka saya adalah openssl-0.9.8k_WIN32 saya menggunakan previos untuk pengembangan satu
Harsha

keytool membutuhkan kata sandi : "android"
Guglie

11

masukkan deskripsi gambar di sini

Cara saya memperbaikinya adalah dengan mengambil kunci yang sesuai dengan teks yang disorot. Karena penggunaan kata 'server' yang membingungkan di halaman dokumentasi Firebase, saya mengambil Server key. Itulah alasan masalahnya.

Anda dapat menemukan kuncinya di sini .


Terima kasih! Bekerja dalam kasus saya. Saya pikir itu entah bagaimana terhubung dengan menggunakan server backend sendiri (dan memanggil "requestServerAuthCode" di GoogleSignIn)
ITurchenko

5

Saya mengalami masalah yang sama, bagaimana saya mengatasinya adalah saya memiliki applicationId yang berbeda di file gradle saya dari nama paket di file manifes saya. Dan saya menggunakan applicationId untuk membuat file json. Saya harus mengubah nama paket saya menjadi applicationId saya dan itu memperbaikinya untuk saya.


1
saya selalu mengira paket dalam Manifes diganti oleh ApplicationId yang ditentukan dalam gradle. Bukan itu masalahnya?
Flo We

3

Sebagai alternatif dari jawaban yang diberikan di sini, Anda dapat menggunakan Asisten Firebase Android Studio untuk menambahkan SHA-1 secara otomatis ke proyek Anda dengan mengklik beberapa tombol.

Di Android Studio, buka Tools > Firebase > Select 'Authentication'dan klik tautan yang bertuliskan'Email and password authentication' .

Ini akan memberi Anda sedikit tutorial tentang cara mengintegrasikan Otentikasi ke proyek Anda, tetapi karena Anda mungkin telah melakukan semua itu, cukup klik 'Connect to Firebase'dan selesai.


3

Ini pertanyaan lama, tetapi saya terjebak dengan kesalahan 10 (DEVELOPER_ERROR) akhir-akhir ini, karena saya menggunakan ID klien Android, yang saya buat di konsol pengembang google.

Solusi bagi saya adalah menggunakan kredensial Android di konsol pengembang google hanya untuk menunjukkan kunci SHA apk saya dan menggunakan ID klien kredensial aplikasi Web (!) Dari konsol pengembang google di aplikasi cordova saya.

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>

kode:

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

Saya tidak menggunakan firebase.


Terima kasih banyak, ini menghemat banyak waktu saya. Memang, menggunakan web yang dibuat secara otomatis client idmenyelesaikan masalah DEVELOPER_ERROR. Meskipun bagi saya itu tidak masuk akal dan tidak jelas bahwa id klien yang berbeda harus digunakan.
Myroslav Kolodii

3

Anda mungkin telah membuat dan menambahkan kunci SHA1 yang salah. Gunakan langkah-langkah berikut untuk membuat kunci SHA1 di Android studio:

  1. Klik Gradle (Dari Panel Sisi Kanan, Anda akan melihat Gradle Bar)
  2. Klik Refresh (Klik Refresh dari Gradle Bar, Anda akan melihat Daftar skrip Gradle Proyek Anda)
  3. Klik Proyek Anda (Daftar formulir Nama Proyek Anda (root))
  4. Klik Tugas
  5. Klik di Android
  6. Klik Ganda pada penandatanganan (Anda akan mendapatkan SHA1 dan MD5 di Run Bar (Terkadang di Gradle Console))

Sekarang tambahkan kunci SHA1 ini di proyek android firebase Anda.



1

Bagi saya itu berfungsi ketika saya pertama kali menerapkannya, tetapi berhenti setelah beberapa hari pengembangan, dengan pesan kesalahan yang disebutkan.

Saya telah memecahkan masalah dengan langkah-langkah ini:

  1. Saya telah menambahkan sidik jari sha-256 di atas sidik jari sha-1 yang sudah saya miliki di konsol firebase. (Tidak yakin apakah langkah ini diperlukan)
  2. Saya telah mengunduh file google-services.json lagi dan mengganti file lama.
  3. menginstal ulang aplikasi

dan itu berhasil


0

Saya menemukan kesalahan ini di aplikasi firebase saya. Itu diperbaiki ketika saya menambahkan requestIdToken(activity.getString(R.string.default_web_client_id))bagian di bawah ini.

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);

apa itu default_web_client_id? dari mana saya bisa mendapatkannya?
Ayman Al-Absi

@ AymanAl-Absi Sudahkah Anda mengatur proyek Anda dengan benar untuk layanan google? lihat: developers.google.com/android/guides/google-services-plugin
Dan Brough

1
@ AymanAl-Absi Anda juga mendapatkan "default_web_client_id" dari file google-service.json Anda di file ini, Anda dapat melihat tag Client_ID di tag yang Anda salin hanya teks itu (client_ID) <[Client_ID] .app.etc>.
Pangeran

0

Saya mendapat kesalahan ini ketika saya memperbarui file konfigurasi json saya dengan akun google baru.

Menghapus instalasi aplikasi secara manual dan menginstal ulang aplikasi berhasil untuk saya.


0

Error ini terjadi karena checksum SHA-1 dari debug atau kunci rilis tidak disertakan dalam firebase / google console.

Pertama buat kunci menggunakan perintah berikut:

keytool -list -v -keystore KEYSTORE_PATH -alias ALIAS_NAME

Kemudian salin checksum SHA-1 dan buka:

Konsol Firebase> Proyek Anda> Setelan aplikasi> Tambahkan Sidik Jari



0

Pastikan Anda mengaktifkan Masuk dengan Google di bawah Autentikasi di konsol Firebase.


0

Saya memecahkan masalah saya dengan menggunakan server_client_id yang benar di baris ini:

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

Saya menggunakan kode yang salah.


0

Beberapa Layanan seperti login google memerlukan sidik jari SHA1 untuk ditambahkan ke konsol firebase Anda.

Saya melewatkan menambahkan sidik jari SHA di konsol firebase. Anda dapat melakukannya dengan masuk ke Konsol FireBase> pengaturan proyek> Tambahkan opsi sidik jari.

Anda dapat membuat Sidik Jari SHA1 dengan cara yang sangat mudah https://www.youtube.com/watch?v=FczARQ244GE

Setelah itu saya melakukan satu kesalahan lagi

Setelah generasi kunci SHA1 dari metode di atas. Saya menyalin kunci SHA1 tidak valid yang salah yang sudah kedaluwarsa. Jadi pastikan kunci SHA1 yang Anda salin dari cara di atas keluaran adalah yang valid (Periksa nilai sampai yang valid juga dari Kunci SHA1)

Pastikan juga bahwa nama paket (xyz) yang Anda tambahkan di firebase sama dengan yang digunakan di kode android Anda.

Pastikan juga untuk menggunakan AppID yang benar


0

Setelah penyelidikan panjang, saya menemukan solusi. Sebenarnya kesalahan ini Error: Status{statusCode=DEVELOPER_ERROR, resolution=null}menunjuk ke salah SHA-1 ATAU Nama paket salah ATAU yang lain ?. Dalam kasus saya, saya menambahkan debugkata kunci di akhir nama paket saya com.sample.app=>com.sample.app.debug


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.