Developer'ler, Google Nest cihazlarını useradına görüntülemek ve yönetmek için SDM API'yi kullanabilir. SDM API, user erişim sağlanan cihazları yönettiğini, user her cihazın özelliklerini okumayı veya yazmayı kabul ettiğini ve her özelliğe erişim için izin verilenler listesine eklenmiş olduğunu doğrular.developer developer
SDM API'yi cihaz yönetimi için kullanmak üzere öncelikledeveloper usertarafından yetkilendirilmelidir.
Yetkilendirme sürecinin adım adım açıklamalı kılavuzu için Device Access Hızlı Başlangıç Kılavuzu'nunHesap Yetkilendirme sayfasına bakın.
Yetkilendirme hatalarını giderme konusunda yardım almak için Yetkilendirme Hataları bölümüne bakın.
OAuth akışı
SDM API'si,user yetkilendirme için üç aşamalı Google OAuth akışı kullanır:
- Nest cihazlarının yönetimi için a user yetkilendirme a developer istendiğinde developer user , PCM'ye gönderilir ve userbu kişinin Google Hesabına giriş yapar.
- PCM'de user , developerverilecek izinleri seçer.
- user , OAuth aracılığıyla yetkilendirme sağlayarakdeveloper bir Yetkilendirme Kodu verir.
- developer , bir Erişim Jetonu almak için Yetkilendirme Kodunu kullanır.
- developer , Erişim Jetonu'nu cihaz yönetimi için SDM API'ye yapılan çağrılarla kullanır.
Google OAuth ve nasıl ayarlanacağı hakkında daha fazla bilgi edinmek için Google API'lerine Erişmek için OAuth 2.0'ı Kullanma bölümüne bakın.
İş Ortağı Bağlantıları Yöneticisi (PCM)
PCM, SDM API tarafından sağlanır.user tarafından kullanılabilen tüm yapılar, cihazlar ve erişim seçeneklerinin listelendiği bir görünümdür. developeruser, yetkilendirme işlemi sırasında nelere izin verileceğini seçer ve bu erişimi kontrol eder.
PCM'de seçilen seçenekler, erişim verilecek özellik koleksiyonları olan developer özellik gruplarıyla eşlenir.developer bazı entegrasyon grupları user için entegrasyon türüne bağlı olarak birbirlerine bağlıdır ve userbu entegrasyonu etkinleştirmek için bu bağlı özellik gruplarına izin vermelidir. Aksi takdirde kullanıcı istediği şekilde, tek tek bağlı olmayan özellik grupları için izinler verebilir.
PCM'yi etkinleştir
Bir useriçin PCM görünümünü etkinleştirmek üzere Yetkilendirme İsteği için standart Google API OAuth 2.0 uç noktasını bu yeni OAuth uç noktasıyla değiştirin:
https://nestservices.google.com/partnerconnections/project-id/auth
URL'de şu parametreleri kullanın:
Parametre | Açıklama |
---|---|
redirect_uri |
Başarılı yetkilendirmeden sonra user yönlendirilecek olan URI. |
client_id |
Google Cloud projenizden OAuth 2.0 istemci kimliği. Bu kimliğin Project ile ilişkilendirilmiş olduğundan emin olun. OAuth İstemci Kimliği'nin geçerli ve projectile aynı olması gerektiğini, ayrıca diğer projectlerle paylaşılamayacağını unutmayın. |
access_type |
Kullanılacak değer: offline |
prompt |
Kullanılacak değer: consent |
response_type |
Kullanılacak değer: code Bunun için bir yetkilendirme kodu verilmesi beklenir. |
scope |
Kullanılacak değer: https://www.googleapis.com/auth/sdm.service
SDM API kapsamı. |
state |
İsteğe bağlıdır. İstek ve geri çağırma arasındaki durumu korumak için developer müşteri tarafından kullanılan opak bir değer. |
linking_token |
GetToken komutundan alınan bağlantı jetonu. |
Örnek PCM URL'si:
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.service
user , izin verdikten sonra yönlendirme URI'sinde code
parametresi olarak bir Yetkilendirme Kodu döndürülür. Erişim jetonu almak için bu
kodu kullanın.
Uygulamanıza PCM ekleyin
Uygulamanızda, aşağıdaki URL'yi kullanarak PCM görünümünü ekleyin:
https://nestservices.google.com/partnerconnections
Giriş yapıldığında user bu sayfada, bağlantılı tümDevice Access developeriçeriklerinin yanı sıra tüm izinleri yapılandırıp iptal etme izni veren tüm yapıların ve cihazların listesi gösterilir. user , bu sayfadan iş ortağı bazında da iş ortağı bağlantısını kesebilir.
Doğrulanmamış uygulamalar
SDM API, kısıtlanmış bir kapsam kullanır. Bu nedenle, yetkilendirme sırasında bu kapsamı kullanan tüm uygulamalar, OAuth API Doğrulaması tamamlanmadığı sürece "doğrulanmaz". Kişisel kullanım için Device Access kullanılırken OAuth API Doğrulaması gerekmez.
Yetkilendirme sürecinde "Google bu uygulamayı doğrulamadı" ekranı görebilirsiniz. Bu ekran, Google Cloud'daki OAuth izin ekranınızda sdm.service
kapsamı yapılandırılmadıysa görünür. Bu ekran, Gelişmiş seçeneği ve ardından Proje Adı'na (güvenli değil) git tıklanarak atlanabilir.
Daha fazla bilgi için Doğrulanmamış uygulama ekranı bölümüne bakın.
Erişim jetonları
Yetkili yapıları ve cihazları yönetmek için SDM API'ye yapılan tüm çağrılar, yetkilendirme sırasındauser tarafından verilen benzersiz erişim jetonunu developer kullanmalıdır. Erişim jetonları kısa ömürlüdür ve sürekli erişim sağlamak için düzenli olarak yenilenmelidir.
a user Daha sonra bir yapıya veya cihaza erişimi iptal ederse developer erişim jetonunun süresi hemen dolar ve yenilenemez. Bu durumdadeveloper bunun yerine SDM API'yi arayamaz user.
Hesap yetkilendirmesini iptal et
Google hesaplarının yetkisini kaldırmanın birden fazla yolu vardır. Tercih edilen yöntem, kullanıcının, hesap izinlerini değiştirmek için İş Ortağı Bağlantıları Yöneticisi'ni (PCM) kullanmasıdır. Daha fazla bilgi için Hesap izinlerini değiştirme bölümünü inceleyin. Bir erişim jetonu aşağıdaki yöntemlerle de iptal edilebilir:
Kullanıcı, izni https://myaccount.google.com/permissions adresinden iptal edebilir.
Geliştirici, erişim jetonunu uç noktaya
https://oauth2.googleapis.com/revoke
aktarabilir. Google OAuth ve jeton iptali hakkında daha fazla bilgi edinmek için Revoking a token (Jetonu iptal etme) başlıklı konuyu inceleyin.
Yerleştirilmiş web görünümleri
Yeni bir güvenli tarayıcı politikası, genellikle yerleşik web görünümleri olarak bilinen yerleşik tarayıcı kitaplıklarındaki Google OAuth isteklerini yasaklar. Yerleştirilmiş tüm web görünümleri engellenir. Yerleşik web görünümü kitaplıkları, tehlikeli bir geliştiricinin Google ve kullanıcıları arasındaki iletişimlere müdahale etmesine ve bu raporları değiştirmesine olanak tanıdığı için sorunludur. Yerleşik web görünümleri yalnızca hesap güvenliğini değil, aynı zamanda uygulamanızın kullanılabilirliğini de etkiler.
Bu politikadan etkileniyorsanız Google'ın yerleşik web görünümlerinde OAuth 2.0 yetkilendirme uç noktasında yapılacak güvenlik değişiklikleri destek makalesine bakın.