Developerdapat menggunakan SDM API untuk melihat dan mengelola perangkat Google Nest atas nama user. SDM API memvalidasi bahwa user mengelola perangkat yang diakses, bahwa user telah menyetujuideveloper pembacaan atau penulisan setiap karakteristik perangkat, dan bahwadeveloper telah dimasukkan dalam daftar yang diizinkan untuk mengakses setiap karakteristik.
Untuk menggunakan SDM API bagi pengelolaan perangkat,developer harus diizinkan terlebih dahulu oleh user.
Untuk mengetahui penjelasan tentang proses otorisasi, lihat halaman Memberikan otorisasi ke Akun di panduan Memulai Cepat Device Access .
Untuk mendapatkan bantuan terkait pemecahan masalah error otorisasi, lihat Error Otorisasi.
Alur OAuth
SDM API menggunakan alur Google OAuth tiga kaki untuk user otorisasi:
- Saat a user ingin mengizinkan a developer untuk pengelolaan perangkat Nest, developer mengirimkan user ke PCM, tempat user login ke Akun Google-nya.
- user Memilih izin yang akan diberikan untuk developer di PCM.
- user memberikan izin melalui OAuth, sehingga memberikan Kode Otorisasi kepada developer .
- developer menggunakan Kode Otorisasi untuk mengambil Token Akses.
- developer menggunakan Token Akses dengan panggilan ke SDM API untuk pengelolaan perangkat.
Untuk mempelajari lebih lanjut Google OAuth dan cara penyiapannya, lihat Menggunakan OAuth 2.0 untuk Mengakses Google API.
Partner Connections Manager (PCM)
PCM disediakan oleh SDM API. Tampilan ini mencantumkan semua struktur, perangkat, dan opsi akses yang dapat diberikanuser kepada developer. user memilih apa yang akan diberi akses selama proses otorisasi dan mempertahankan kontrol atas akses tersebut.
Opsi yang dipilih di PCM dipetakan ke grup sifat, yang merupakan kumpulan sifat yang akan diberi akses oleh developer . Beberapa grup karakteristik ditautkan bersama, bergantung pada jenis integrasi yang ditawarkan developer kepada user, dan user harus memberikan izin untuk grup karakteristik yang ditautkan tersebut agar integrasi tersebut dapat diaktifkan. Jika tidak, pengguna memiliki kemampuan untuk memberikan izin untuk grup karakteristik individu yang tidak ditautkan sesuai keinginan.
Mengaktifkan PCM
Untuk mengaktifkan tampilan PCM untuk user, ganti endpoint OAuth 2.0 Google API standar dengan endpoint OAuth baru ini untuk Permintaan Otorisasi:
https://nestservices.google.com/partnerconnections/project-id/authGunakan parameter ini di URL:
| Parameter | Deskripsi |
|---|---|
redirect_uri |
URI untuk mengarahkan user setelah otorisasi berhasil. |
client_id |
ID Klien OAuth 2.0 dari Project Google Cloud Anda. Pastikan ID ini sama dengan ID yang terkait dengan Project ID Anda. Perhatikan bahwa Client ID OAuth harus valid dan unik untuk project, dan tidak dapat dibagikan kepada projectlain. |
access_type |
Nilai yang akan digunakan: offline |
prompt |
Nilai yang akan digunakan: consent |
response_type |
Nilai yang akan digunakan: codeKode otorisasi diharapkan sebagai balasannya. |
scope |
Nilai yang akan digunakan: https://www.googleapis.com/auth/sdm.service
Cakupan SDM API. |
state |
Opsional. Nilai buram yang digunakan oleh klien developer untuk mempertahankan status antara permintaan dan callback. |
Contoh URL PCM:
https://nestservices.google.com/partnerconnections/
2f6989ca-c756-4625-8cdc-d5b1edfb2dcd/auth?
redirect_uri=https://www.example.com/api/link/M258KP8OWYZDVQ&
client_id=418235700063-sdkiav89orn5r1nvrcr5t210qqjimq8l.apps.googleusercontent.com&
access_type=offline&
prompt=consent&
response_type=code&
scope=https://www.googleapis.com/auth/sdm.serviceSetelah user memberikan izin, Kode Otorisasi akan ditampilkan
sebagai parameter code di URI pengalihan. Gunakan kode ini untuk mendapatkan token akses.
Menambahkan PCM ke aplikasi Anda
Di aplikasi Anda, tambahkan tampilan PCM menggunakan URL ini:
https://nestservices.google.com/partnerconnectionsSaat user login, halaman ini menampilkan semua Device Access developeryang ditautkan, serta daftar semua struktur dan perangkat dengan tombol untuk memberikan dan mencabut izin. user juga dapat memutus koneksi partner berdasarkan per partner dari halaman ini.
Aplikasi yang belum diverifikasi
SDM API menggunakan cakupan terbatas, yang berarti bahwa setiap aplikasi yang menggunakan cakupan ini selama otorisasi akan "belum diverifikasi", kecuali jika Verifikasi API OAuth telah diselesaikan. Saat menggunakan Device Access untuk penggunaan pribadi, Verifikasi API OAuth tidak diperlukan.
Anda mungkin melihat layar "Google belum memverifikasi aplikasi ini" selama proses otorisasi, yang muncul jika cakupan sdm.service tidak dikonfigurasi di layar izin OAuth Anda di Google Cloud. Layar ini dapat dilewati dengan mengklik opsi Lanjutan, lalu mengklik Buka Nama Project (tidak aman).
Lihat Layar aplikasi tidak terverifikasi untuk informasi selengkapnya.
Token akses
Semua panggilan ke SDM API untuk mengelola struktur dan perangkat yang diberi otorisasi harus menggunakan token akses unik yang diberikan ke developer oleh user selama otorisasi. Masa berlaku token akses singkat dan harus diperbarui secara rutin untuk memastikan akses berkelanjutan.
Jika a user kemudian mencabut developer akses ke struktur atau perangkat, token akses akan segera habis masa berlakunya dan tidak dapat diperbarui, dandeveloper tidak akan lagi dapat memanggil SDM API atas nama usertersebut.
Mencabut otorisasi akun
Ada beberapa cara untuk membatalkan otorisasi akun Google. Metode yang lebih disukai adalah pengguna menggunakan Pengelola Koneksi Partner (PCM) untuk mengubah izin akun. Lihat Mengubah izin akun untuk mengetahui informasi selengkapnya. Token akses juga dapat dicabut dengan metode berikut:
Pengguna dapat mencabutnya di https://myaccount.google.com/permissions.
Developer dapat meneruskan token akses ke endpoint
https://oauth2.googleapis.com/revoke. Untuk mempelajari lebih lanjut Google OAuth dan pencabutan token, lihat Mencabut token.
WebView tersemat
Kebijakan browser aman baru melarang permintaan Google OAuth di library browser tersemat yang biasa disebut sebagai webview tersemat. Semua webview yang disematkan akan diblokir. Library webview sematan bermasalah karena memungkinkan developer jahat mencegat dan mengubah komunikasi antara Google dan penggunanya. WebView sematan tidak hanya memengaruhi keamanan akun, tetapi juga dapat memengaruhi kegunaan aplikasi Anda.
Jika Anda terpengaruh oleh kebijakan ini, lihat artikel dukungan Perubahan keamanan mendatang pada endpoint otorisasi OAuth 2.0 Google di webview tersemat.