//

Akun yang terhubung dengan Google Sign-In |  Tindakan di akun Google yang menghubungkan |  Pengembang Google

  • Bagikan

9k=

Google Sign-In untuk Asisten menyajikan pengalaman konsumen terbaik dan paling sederhana kepada pelanggan dan pengembang masing-masing untuk menghubungkan akun dan munculnya akun. Permintaan Actioncan Anda masuk ke profil Google konsumen Anda selama percakapan, yang mencakup nama, alamat email, dan gambar profil orang tersebut.

Informasi profil dapat digunakan untuk membuat pengalaman pengguna yang disesuaikan dalam Tindakan Anda. Jika Anda memiliki aplikasi pada struktur yang berbeda dan bahwa mereka menggunakan Google Sign-In, Anda juga dapat menemukan dan menautkan ke akun konsumen saat ini, membuat akun baru, dan mengatur saluran pertukaran verbal langsung kepada pengguna.

Untuk melakukan tautan akun dengan Google Sign-In, Anda meminta orang tersebut untuk memberikan persetujuan untuk masuk ke profil Google mereka. Anda kemudian menggunakan catatan di profil mereka, forexample email mereka berurusan dengan, untuk menemukan konsumen ke gadget Anda. Menerapkan penautan akun Masuk Google

Ikuti tangga di bagian berikut untuk menambahkan akun Masuk Google yang menautkan ke yourAction.Configure usaha

Untuk mengonfigurasi usaha Anda untuk menerapkan penautan akun Masuk Google, ikuti langkah-langkah tersebut:

  • Buka Konsol Tindakan dan pilih misi.
  • Klik tab Kembangkan dan pilih Penautan Akun.
  • Aktifkan sakelar setelah penautan akun.
  • Di segmen pembuatan Akun, pilih Ya.
  • Dalam tipe Penautan, pilih Google Masuk.

    Buka Informasi Klien dan perhatikan biaya ID Klien yang dikeluarkan melalui Google pada Tindakan Anda.

  • Klik Simpan.

  • Merancang antarmuka pengguna suara untuk flowCheck otentikasiCheck jika konsumen diverifikasi dan mulai pelampung yang menghubungkan akun

  • Buka tugas Penyusun Tindakan Anda di Konsol Tindakan.
  • Buat adegan baru untuk memulai penautan akun ke Tindakan Anda:
  • Klik Adegan.
  • Klik ikon unggah (+) untuk menampilkan adegan baru.
  • Di adegan yang baru dibuat, klik ikon tambahkan adduntuk Kondisi.
  • Tambahkan situasi yang menguji jika pengguna yang terkait dengan komunikasi adalah orang yang diuji aa. Jika melihat gagal, Tindakan Anda tidak dapat melakukan akun yang menghubungkan komunike, dan harus jatuh ke belakang untuk menyajikan masuk ke fungsi yang tidak memerlukan penautan akun.
  • Dalam Enter disiplin ekspresi baru di bawah Kondisi, masukkan penilaian baik berikutnya:person.verificationStatus != “VERIFIED”
  • Di bawah Transisi, pilih adegan yang tidak memerlukan akun yang menghubungkan adegan ora yang merupakan faktor masuk ke kemampuan tamu yang paling efektif.
  • Klik ikon tambahkan add untuk Kondisi.
  • Tambahkan kondisi untuk menyebabkan akun yang menghubungkan drift jika orang tersebut tidak memiliki identitas terkait.
  • Di area Enter new expression di bawah Kondisi, masukkan akal sehat berikutnya::user.verificationStatus == “VERIFIED”
  • Di bawah Transisi, pilih adegan Perangkat Penyeutan Akun.
  • Klik Simpan.
  • Setelah menabung, akun baru yang menghubungkan adegan gadget yang disebut _AccountLinkingis ditambahkan pada tugas Anda. Mengkustomisasi adegan penautan akun

  • Di bawah Scenes, pilih akun yang menghubungkan adegan gadget.
  • Klik Kirim prompt dan unggah kalimat singkat untuk menjelaskan kepada pengguna kapan Tindakan perlu masuk ke identitas mereka (misalnya “Untuk menyimpan kemungkinan Anda”).
  • Klik Simpan.
  • Di bawah Ketentuan, klik Jika konsumen berhasil menyelesaikan penautan akun.
  • Konfigurasikan bagaimana float perlu melanjutkan jika pengguna memiliki pendapat yang sama untuk menautkan akun mereka. Misalnya, hubungi webhook untuk memproses penilaian bisnis khusus yang diperlukan dan transisi kembali ke adegan yang berasal.
  • Klik Simpan.
  • Di bawah Ketentuan, klik Jika pengguna membatalkan atau menolak penautan akun.
  • Konfigurasikan bagaimana pelampung harus melanjutkan jika orang tersebut tidak sesuai dengan akun mereka. Misalnya, kirim pesan yang mengakui dan alihkan ke scenesthat menyediakan fungsionalitas yang tidak memerlukan penautan akun.
  • Klik Simpan.
  • Di bawah Ketentuan, klik Jika kesalahan perangkat atau jaringan terjadi.
  • Konfigurasikan bagaimana drift harus dilanjutkan jika aliran penautan akun tidak dapat diselesaikan karena kesalahan sistem atau komunitas. Misalnya, kirim pesan yang mengakui dan alihkan ke scenesthat menyediakan fungsionalitas yang tidak memerlukan penautan akun.
  • Klik Simpan.
  • Mengakses statistik profil di backend Anda

    Setelah orang tersebut mengizinkan gerakan Anda untuk mengakses profil Google mereka, Anda akan menerima token ID Google yang menggabungkan informasi profil Google konsumen dalam setiap pemeriksaan berikutnya pada gerakan Anda.

    Untuk mengakses informasi profil konsumen, Anda harus terlebih dahulu memvalidasi dan memecahkan kode tokenby melakukan hal berikut:

  • Gunakan pustaka pengurai JWT ke bahasa Anda untuk memecahkan kode thetoken, dan gunakan kunci publik Google (yang bisa didapat dalam format JWKor PEM) untuk menegaskan tanda tangan token.
  • Verifikasi bahwa perusahaan token (subjek iss dalam token yang diterjemahkan) https://bills.google.comand bahwa audiens (disiplin aud dalam token yang diterjemahkan) adalah nilai ID yang diterjemahkan yang dikeluarkan dengan menggunakan Google untuk Tindakan Anda, yang ditugaskan untuk proyek Anda di konsol Tindakan.
  • Berikut ini adalah contoh token yang diterjemahkan:

    "sub": 1234567890,// The particular ID of the consumer's Google Account"iss": "https://accounts.google.com",// The token's company"aud": "123-abc.apps.googleusercontent.com", // Client ID assigned to your Actions assignment"iat": 233366400,// Unix timestamp of the token's advent time"exp": 233370000,// Unix timestamp of the token's expiration time"call": "Jan Jansen","given_name": "Jan","family_name": "Jansen","email": "jan@gmail.com", // If present, the consumer's e mail deal with"locale": "en_US"

    Jika Anda menggunakan pustaka Pemenuhan Tindakan di Google untuk Node.js, itu terlihat setelah memvalidasi dan memecahkan kode token untuk Anda, dan menawarkan Anda akses ke konten profil, sebagaimana dibuktikan di dalam cuplikan kode berikut.

    ...const app = conversation(// REPLACE THE PLACEHOLDER WITH THE CLIENT_ID OF YOUR ACTIONS PROJECTclientId: CLIENT_ID,);...// Invoked on successful completion of account linking flow, test if we want to// create a Firebase user.app.take care of('linkAccount', async conv => permit payload = conv.headers.authorization;if (payload) // Get UID for Firebase auth consumer the usage of the email of the userconst e mail = payload.e mail;if (!conv.consumer.params.uid && email) try conv.person.params.uid = (watch for auth.getUserByEmail(e-mail)).uid; trap (e) if (e.code !== 'auth/user-now not-located') throw e;// If the user isn't always located, create a new Firebase auth consumer// using the email obtained from Google Assistantconv.consumer.params.uid = (anticipate auth.createUser(electronic mail)).uid;);

    Menangani catatan mendapatkan masuk ke permintaan

    Untuk mengelola informasi masuk ke permintaan, cukup verifikasi bahwa pengguna yang ditegaskan melalui Google IDtoken sudah ditemukan di database Anda. Cuplikan kode berikut menunjukkan contoh cara untuk memeriksa apakah pesanan untuk seseorang sudah ada dalam database Firestore:

    ...app.deal with('Place_Order', async conv => const order = conv.consultation.params.order;const userDoc = dbs.consumer.document(conv.person.params.uid);const orderHistory = userDoc.series("orderHistory");if (orderHistory) // Order records exists, so the person already positioned an order.// Update counter for order kind.watch for orderHistory.document(order).update( remember: admin.firestore.FieldValue.increment(1)); else // First order they placeawait orderHistory.document(order).set( choice: order, rely: 1);options.forEach(opt => if (choose != order) orderHistory.document(opt).set( alternative: opt, matter: 0););return conv.upload(`Your $order has been located. ` +'Thanks for using Boba Bonanza, see you quickly!'););

    Kecuali seperti dalam kasus lain yang disebutkan, konten halaman web ini dilisensikan di bawah Lisensi Creative Commons Attribution 4.0, dan sampel kode dilisensikan di bawah Lisensi Apache 2.0. Untuk detailnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan / atau rekan-rekannya.

    [“ketik”: “thumb-down”,”id”: “missingTheInformationINeed”,”label”:”Kehilangan informasi yang saya inginkan”,”ketik”: “thumb-down”,”identity”: “tooComplicatedTooManySteps”,”label”:”Terlalu kompleks / terlalu banyak langkah”,”kind”: “thumb-thumb-down”. down”,”id”: “outOfDate”,”label”:”Out of date”,”type”: “thumb-down”,”id”: “samplesCodeIssue”,”label”:”Samples / code problem”,”type”: “thumb-down”,”identification”: “otherDown”,”label”:”Other”] [“kind”: “thumb-up”,”identification”: “easyToUnderstand”,”label”:”Mudah ditangkap”,”ketik”: “thumb-up”,”id”: “solvedMyProblem”,”label”:”Solved my hassle”,”type”: “thumb-up”,”id”: “otherUp”,”label”:”Other”]

    • Bagikan