Pertanyaan Google masuk kesalahan Status {statusCode = DEVELOPER_ERROR, resolusi = null}


Saya mengintegrasikan login gmail di aplikasi android saya dengan mengikuti utas ini:

https://developers.google.com/identity/sign-in/android/sign-in?configured=true

Tetapi saya mendapatkan kesalahan sebagai:

Status {statusCode = DEVELOPER_ERROR, resolusi = null}

Saya melihat melalui dokumentasi kode status ini di sini:

https://developers.google.com/android/reference/com/google/android/gms/common/ConnectionResult.html#DEVELOPER_ERROR

Tautan di atas tidak membantu mendiagnosis masalah,

Saya telah membuat file keystore debug, & menghasilkan SHA-1 menggunakan keytool, juga di konsol pengembang Google, saya menambahkan nama paket seperti di file manifes atau file gradle.

Tapi semua tampaknya gagal siapa pun dapat memberi tahu saya apa kode kesalahan ini menunjukkan apa yang mungkin salah?


4
2017-10-17 14:13


asal


Jawaban:


Masalah adalah ketidakcocokan SHA1,

1] File Keystore Pertama: Saya memecahkan kesalahan, masalah saat membuat apk Android studio mengambil file keystore default yang terletak di dalamnya C:\Users\<LOGGED_IN_USER_NAME>\.android\debug.keystore

2] File Keystore Kedua: Saya juga membuat satu file keystore lain yang terletak di direktori berbeda yaitu aplikasi / keystore / debug.keystore

Saat mengkonfigurasi konsol pengembang google untuk mengintegrasikan login gmail dalam aplikasi, saya memberikan kunci sha-1 yang dihasilkan melalui file keystore kedua di atas, studio saat membuat file apk mengambil file keystore lainnya sehingga ketidakcocokan kunci sha-1 terjadi.

Untuk mengambil file keystore saya di @ app/keystore/debug.keystore Saya mengonfigurasikan file gradle di tingkat aplikasi dengan kode berikut:

signingConfigs {
        debug {
            storeFile file('keystore/debug.keystore')
            keyAlias 'androiddebugkey'
            keyPassword 'android'
            storePassword 'android'
        }
        /*
        release {
            storeFile file('release.keystore')
            storePassword "mystorepassword"
            keyAlias "mykeyalias"
            keyPassword "mykeypassword"
        }
        */

Sekarang tanda tangan apk sha-1 yang dihasilkan cocok dengan kunci sha-1 yang dikonfigurasi di konsol pengembang google untuk aplikasi Anda.

Satu catatan: Selalu gunakan debug.keystore untuk debugging integrasi gmail (Pada saat pengembangan).

Referensi:

Untuk integrasi gmail: https://developers.google.com/identity/sign-in/android/start-integrating

Untuk melihat sha-1 mana yang digunakan untuk aplikasi Anda, lihat thread stackoverflow ini: SHA-1 sidik jari dari sertifikat keystore


11
2017-10-24 06:08



Bagi siapa saja yang menggunakan Bereaksi Native Google Signin dan Firebase, coba ini.

Langkah 1: Dapatkan SHA-1 dari Android Developer Debug Keystore Anda

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

Kata kuncinya adalah android. Salin nilai SHA-1, yang akan terlihat seperti ini di output:

Certificate Fingerprints
....
SHA1: aa:bb:cc:dd:ee:ff:11:22:33:44:47:D0:9E:8D:E0:0C:79:F1:0F:CB

Langkah 2: Tambahkan SHA ke Aplikasi Android di Firebase Console

Sekarang buka Aplikasi Android Anda di Firebase console dan tambahkan SHA-1:

enter image description here


4
2017-12-30 05:40



Masalah saya adalah kunci SHA1 di konsol pengembang tidak cocok dengan yang dihasilkan dari file debug.keystore saya. Menjalankan

keytool -exportcert -keystore path-to-debug-or-production-keystore -

Salin kunci SHA1 dan tempelkan ke konsol pengembang (console.developers.google.com) di bawah aplikasi Anda> kredensial> ID klien OAuth 2.0> Oauth> Sidik jari sertifikat penandatanganan


2
2017-10-19 11:31



Hal lain yang harus diperhatikan adalah bahwa versi keytool yang lebih baru (misalnya untuk Java 9) akan menghasilkan nilai SHA-256, bukan SHA-1.


0
2018-02-04 12:48



Saya baru saja membebaskan diri setelah berjuang dengan ini selama hampir 6 jam dan inilah temuan saya.

Harap pastikan hal-hal berikut:

  1. Nama paket yang benar di konsol Pengembang Google. (Jangan pergi hanya dengan nama paket dari AndroidManifest.xml. Periksa file Gradle untuk melihat apakah nama rasa Anda sedang diubah secara dinamis saat membangun).

  2. Hasilkan Sha-1 Hash di lokasi keystore yang benar. (Saya akan pergi dengan lokasi keystore default ~ / .android / debug.keystore tetapi mengetahui bahwa aplikasi saya menimpa dengan lokasi lain di repositori dan karenanya, saya mendapatkan developer_error selama ini.)

NB: Jika aplikasi Anda menggunakan server backend untuk menarik data secara offline, buat proyek dari alur masuk Google karena ini akan menghasilkan ID Klien OAuth untuk Android dan WebServer.


0
2017-09-24 23:08