Notice: We're retiring Works with Nest. See the home page for more information.
Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Yetkilendirme Referansı

Yetkilendirme kodu isteği

İstek türüne bağlı olarak, farklı kod uzunlukları ve TTL (Yaşam Süresi) değerleri uyguluyoruz:

Akış TTL Kod uzunluğu
10 dakika 16 karakter
TOPLU İĞNE 48 saat 8 karakter

Parametreler

Nest API'sında desteklenen yetkilendirme parametreleri şunlardır:

ad tip gereklidir Açıklama
client_id sicim Evet OAuth İstemcileri sayfasında bulunur.
redirect_uri sicim Hayır İstemciniz için birden çok yönlendirme URI'si yapılandırılmışsa, istenen yönlendirme URI'sını belirtmek için bunu kullanın. Varsayılan yönlendirme URI'nızı kullanmasını atlayın.

İçinde başka parametrelere yer vermeyin redirect_uri kendisi parametre, bu URI tam olarak müşteri için yapılandırılmış bir yönlendirme eşleşmesi gerekir.
state sicim Evet CSRF saldırılarıyla mücadele için tahmin edilemeyen bir değer belirtmek üzere bunu kullanın. Aksi takdirde, varsayılan STATE değerini kullanın.

PIN tabanlı yetkilendirme hata mesajları

PIN tabanlı yetkilendirme kodu istekleri sırasında kullanıcılara aşağıdaki hata mesajları görüntülenebilir:

Kullanıcı Hata Mesajı açıklama
İstemci kimliği veya durum parametreleri eksik. Yetkilendirme URL'sinde client_id veya state parametresi veya her ikisi birden eksik. Geçirilen yetkilendirme URL'sinin eksiksiz ve doğru olduğundan emin olun.
Hata! Bir hatayla karşılaştık. Lütfen tekrar deneyin. Bu hata aşağıdakilerden oluşur:
  • Nest hizmeti kapalı. Nest hizmeti geri yüklenene kadar bekleyin.
  • Belirtilen client_id için bir istemci mevcut değil. Geçirilen yetkilendirme URL'sinin doğru client_id değerini kullandığından emin olun.
Şirket Adına bağlantı şu anda kullanılamıyor. Daha fazla bilgi için lütfen Nest ile iletişime geçin. İstemci kullanıcı kotasını aştı. Daha fazla kullanıcı eklemek için müşterinizi incelemeye gönderin.

URI tabanlı yetkilendirme hatası yanıtlarını yeniden yönlendir

Tüm yanıtlar için içerik türü: application/json .

Gerekli parametreler eksik

ayrıntılar
HTTP Durum Kodu 400 Hatalı İstek
Vücut {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
açıklama Yetkilendirme kodu isteğinde gerekli bir parametre olan PARAM_NAME eksik.

redirect_uri önceden kaydedilmedi

ayrıntılar
HTTP Durum Kodu 400 Hatalı İstek
Vücut {
"error":"input_data_error",
"error_description":"redirect_uri not pre-registered"
}
açıklama Erişim belirteci isteğinde kullanılan redirect_uri parametresi, istemciniz için yapılandırılmış yönlendirme URI'lerinden hiçbiriyle eşleşmiyor.

Erişim belirteci isteği

İstemci kimlik bilgilerini istek gövdesine ekleyerek daha fazla güvenlik sunan bu OAuth standardına uymanızı öneririz. Üstbilgide istemci kimlik bilgilerine sahip çağrılar çalışmaya devam eder, ancak önerilmez.

Erişim belirteci isteği bir HTTP POST isteği biçimindedir.

Parametreler

ad tip gereklidir Açıklama
code sicim Evet Müşterinizden sonra gönderilen yetkilendirme kodu, uygulamanızın Nest verilerine erişmesini kabul eder. Bu değer, başarılı bir yetkilendirme kodu isteği tarafından sağlanır.

Yetkilendirmeyi nasıl ayarlayacağınızı öğrenin
client_id sicim Evet OAuth İstemcileri sayfasında bulunur.
client_secret sicim Evet OAuth İstemcileri sayfasında bulunur; uygulama anahtarı olarak da adlandırılabilir.
grant_type sicim Evet Bu dize olmalı: authorization_code

Tepki

Tüm yanıtlar için içerik türü: application/json

HTTP Durum Kodu Açıklama Vücut
200 TAMAM Erişim belirteci döndürülür. Nest hizmetine yapılan aramalarda erişim belirtecini kullanın. LONG, belirtecin süresi bitene kadar geçen saniye sayısıdır. {
"access_token":"STRING",
"expires_in":LONG
}

Erişim belirteci ömrü

Yenileme simgelerini desteklemiyoruz, çünkü erişim simgelerinin süresi sona ermiyor. Web ve PIN tabanlı yetkilendirme akışı hakkında daha fazla bilgi için Yetkilendirmeye Genel Bakış konusuna bakın.

Erişim belirteci hata yanıtları

Tüm yanıtlar için içerik türü: application/json .

Yetkilendirme kodunun süresi doldu

ayrıntılar
HTTP Durum Kodu 400 Hatalı İstek
Vücut {
"error":"oauth2_error",
"error_description":"authorization code expired"
}
açıklama Yetkilendirme kodunun süresi doldu. Erişim belirteci istemek için yeni bir yetkilendirme kodu gerekir.

Yetkilendirme kodu bulunamadı

ayrıntılar
HTTP Durum Kodu 400 Hatalı İstek
Vücut {
"error":"oauth2_error",
"error_description":"authorization code not found"
}
açıklama code parametresi geçersiz. Doğru yetkilendirme kodunu kullandığınızdan emin olun.

Müşteri etkin değil

ayrıntılar
HTTP Durum Kodu 403 yasak
Vücut {
"error":"client_not_active",
"error_description":"client is not active"
}
açıklama Doğru parametreleri kullandığınızdan emin olun. Parametreler doğruysa ve hata yalnızca bazı yetkilendirme yöntemleri için ortaya çıkarsa (örneğin, yetki Postman kullanarak başarılıdır, ancak Curl kullanmıyorsa), sözdiziminizde bir sorun olabilir.

Bu hata, istemciniz devre dışı bırakıldığında da oluşur.

Müşteri sırrı bulunamadı

ayrıntılar
HTTP Durum Kodu 400 Hatalı İstek
Vücut {
"error":"oauth2_error",
"error_description":"client secret not found"
}
açıklama client_secret parametresi geçersiz. Doğru client_secret değerini kullandığınızdan emin client_secret .

Gerekli parametreler eksik

ayrıntılar
HTTP Durum Kodu 400 Hatalı İstek
Vücut {
"error":"oauth2_error",
"error_description":"missing required parameters: PARAM_NAME "
}
açıklama Erişim belirteci isteğinde gerekli bir parametre olan PARAM_NAME eksik.

redirect_uri'ye izin verilmiyor

ayrıntılar
HTTP Durum Kodu 400 Hatalı İstek
Vücut {
"error":"input_error",
"error_description":"redirect_uri not allowed"
}
açıklama redirect_uri parametresi erişim belirteci isteğinde kullanıldı.