Air Quality API, kimlik doğrulama için OAuth 2.0 kullanımını destekler. Google, web sunucusu için olanlar gibi yaygın OAuth 2.0 senaryolarını destekler.
Bu belgede, geliştirme ortamına tabidir. OAuth kullanımına ilişkin talimatlar için üretim ortamı hakkında daha fazla bilgi edinmek için Google'da kimlik doğrulama.
Başlamadan önce
Hava Kalitesi API'sini kullanmaya başlamadan önce, bir faturalandırma hesabı olan ve Air Quality API'nin etkinleştirilmiş olduğu bir projeye sahip olmalıdır. Birden çok hesap oluşturmanızı öneririz Böylece her zaman bu rollere sahip birilerini kullanabilirsiniz kullanabilirsiniz. Daha fazla bilgi için Cloud Console'da ayarlama bölümüne bakın.
OAuth hakkında
Dağıtımınıza bağlı olarak OAuth ile erişim jetonları oluşturup yönetmenin birçok yolu vardır bahsedeceğim.
Örneğin, Google OAuth 2.0 sistemi sunucular arası etkileşimleri destekler. Örneğin, ve Google hizmeti arasındaki bir iletişim taklididir. Bu senaryo için bir hizmet hesabına ihtiyacınız var. bireysel bir son kullanıcıya değil, uygulamanıza ait bir hesaptır. Sizin Uygulama, hizmet hesabı adına Google API'lerini çağırır. Dolayısıyla kullanıcılar sürece doğrudan dahil olmaz. Kimlik doğrulama yöntemleri hakkında daha fazla bilgi için Authentication at Google (Google'da kimlik doğrulama).
Alternatif olarak hava kalitesi API'sini bir Android veya iOS mobil uygulamasının parçası olarak kullanabilirsiniz. Hava Kalitesi API'si ile OAuth'u kullanma hakkında genel bilgiler ve yönetimle ilgili bilgiler için farklı dağıtım ortamları için erişim jetonları hakkında daha fazla bilgi Google API'lerine Erişmek için OAuth 2.0 Kullanma.
OAuth kapsamları hakkında
OAuth'u Air Quality API ile kullanmak için OAuth jetonuna kapsam atanmalıdır:
https://www.googleapis.com/auth/cloud-platform
Örnek: REST API çağrılarını yerel geliştirme ortamınızda deneme
Air Quality API'yi bir OAuth jetonu kullanarak denemek istiyorsanız ancak bir ortam yoksa jeton oluşturmak istiyorsanız çağrı yapmak için bu bölümdeki prosedürü kullanabilirsiniz.
Bu örnekte, Google'ın sağladığı OAuth jetonunun nasıl kullanılacağı Uygulama Varsayılan Kimlik Bilgileri (ADC) telefon etmeye hazır. İstemci kitaplıklarını kullanarak Google API'lerini çağırmak için ADC'yi kullanma hakkında bilgi için bkz. İstemci kitaplıklarını kullanarak kimlik doğrulaması yapın.
Ön koşullar
ADC kullanarak REST isteğinde bulunabilmek için Google Cloud KSA'yı kullanın (ADC'ye kimlik bilgisi sağlamak için):
- Henüz yapmadıysanız bir proje oluşturun ve buradaki adımları uygulayarak faturalandırmayı etkinleştirin. Google Cloud Console'da kurun.
- gcloud KSA'yı yükleyin ve başlatın.
Aşağıdaki
gcloud
komutunu çalıştırarak yerel makinenizde kimlik bilgisi dosyası:gcloud auth application-default login
- Bir giriş ekranı görüntülenir. Giriş yaptıktan sonra, kimlik bilgileriniz ADC tarafından kullanılan yerel kimlik bilgileri dosyası.
Daha fazla bilgi için bkz. Yerel geliştirme ortamı Uygulama Varsayılan Kimlik Bilgileri için kimlik bilgilerini sağla belgelerinden faydalanabilirsiniz.
REST isteğinde bulunma
Bu örnekte iki istek başlığı iletiyorsunuz:
Aşağıdaki komutu kullanarak
Authorization
üstbilgisindeki OAuth jetonunu iletin komutunu kullanın:gcloud auth application-default print-access-token
Döndürülen jetonun kapsamı:
https://www.googleapis.com/auth/cloud-platform.
.- Faturalandırmanın etkin olduğu Google Cloud projenizin kimliğini veya adını
X-Goog-User-Project
üstbilgisi. Daha fazla bilgi edinmek için bkz. Cloud Console'da ayarlayın.
Aşağıdaki örnekte, OAuth jetonu kullanarak Air Quality API'ye bir çağrı yapılmaktadır:
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" -d '{ "location": { "latitude": 32.62782385865436, "longitude": 35.02197334774893 } }' \ "https://airquality.googleapis.com/v1/currentConditions:lookup"
Sorun giderme
İsteğiniz, son kullanıcı kimlik bilgilerinin bu API tarafından desteklenmediğiyle ilgili bir hata mesajı döndürürse Kullanıcı kimlik bilgileri çalışmıyor başlıklı makaleyi inceleyin.