Geocoding API, kimlik doğrulama için OAuth 2.0'ın kullanılmasını destekler. Google; web sunucusu gibi yaygın OAuth 2.0 senaryolarını destekler.
Bu dokümanda, geliştirme ortamınızda Coğrafi Kodlama API çağrısına OAuth jetonunun nasıl iletileceği açıklanmaktadır. OAuth'u üretim ortamında kullanmayla ilgili talimatlar için Google'da Kimlik Doğrulama başlıklı makaleyi inceleyin.
Başlamadan önce
Coğrafi Kodlama API'sini kullanmaya başlamadan önce, faturalandırma hesabı ve Coğrafi Kodlama API'si etkinleştirilmiş bir projeye ihtiyacınız vardır. Ekibiniz için her zaman bu rollere sahip bir kullanıcının bulunmasını sağlamak amacıyla birden fazla proje sahibi ve faturalandırma yöneticisi oluşturmanızı öneririz. Daha fazla bilgi için Cloud Console'da ayarlama başlıklı makaleyi inceleyin.
OAuth hakkında
Dağıtım ortamınıza bağlı olarak OAuth ile erişim jetonları oluşturmanın ve yönetmenin birçok yolu vardır.
Örneğin, Google OAuth 2.0 sistemi, uygulamanız ile bir Google hizmeti arasındakiler gibi sunucudan sunucuya etkileşimleri destekler. Bu senaryo için bir hizmet hesabına ihtiyacınız vardır. Hizmet hesabı, bireysel bir son kullanıcı yerine uygulamanıza ait bir hesaptır. Uygulamanız, hizmet hesabı adına Google API'lerini çağırır. Dolayısıyla kullanıcılar bu işleme doğrudan dahil olmaz. Kimlik doğrulama yöntemleri hakkında daha fazla bilgi için Google'da kimlik doğrulama başlıklı makaleyi inceleyin.
Alternatif olarak, Coğrafi Kodlama API'yi bir Android veya iOS mobil uygulamasının parçası olarak kullanabilirsiniz. Farklı dağıtım ortamları için erişim jetonlarını yönetme hakkında bilgiler de dahil olmak üzere, OAuth'u Coğrafi Kodlama API ile kullanma hakkında genel bilgi için Google API'lerine Erişmek için OAuth 2.0'ı Kullanma başlıklı makaleyi inceleyin.
OAuth kapsamları hakkında
OAuth'u Coğrafi Kodlama API ile kullanmak için OAuth jetonuna doğru kapsam atanmalıdır. Geocoding API aşağıdaki kapsamları destekler:
https://www.googleapis.com/auth/maps-platform.geocode
— Tüm Geocoding API uç noktalarıyla kullanılır.https://www.googleapis.com/auth/maps-platform.geocode.address
— İleri coğrafi kodlama için yalnızcaGeocodeAddress
ile kullanın.https://www.googleapis.com/auth/maps-platform.geocode.location
— Tersine coğrafi kodlama için yalnızcaGeocodeLocation
ile kullanın.https://www.googleapis.com/auth/maps-platform.geocode.place
— Yer coğrafi kodlaması için yalnızcaGeocodePlace
ile kullanın.
Ayrıca, tüm Geocoding API uç noktaları için genel https://www.googleapis.com/auth/cloud-platform
kapsamını da kullanabilirsiniz. Bu kapsam, gcloud
kullanılarak jeton oluşturulurken kullanılan varsayılan kapsam olduğundan geliştirme sırasında yararlıdır.
Örnek: Yerel geliştirme ortamınızda REST API çağrılarını deneyin
Coğrafi Kodlama API'yi OAuth jetonu kullanarak denemek istiyorsanız ancak jeton oluşturmak için ayarlanmış bir ortamınız yoksa çağrı yapmak üzere bu bölümdeki prosedürü kullanabilirsiniz.
Bu örnekte, çağrı yapmak için Uygulama Varsayılan Kimlik Bilgileri (ADC) tarafından sağlanan OAuth jetonunun nasıl kullanılacağı açıklanmaktadır. İstemci kitaplıklarını kullanarak Google API'lerini çağırmak için ADC'yi kullanma hakkında bilgi edinmek istiyorsanız İstemci kitaplıklarını kullanarak kimlik doğrulama başlıklı makaleyi inceleyin.
Ön koşullar
ADC'yi kullanarak REST isteği göndermeden önce ADC'ye kimlik bilgileri sağlamak için Google Cloud CLI'yi kullanın:
- Henüz yapmadıysanız Google Cloud Console'da Kurulum bölümündeki adımları uygulayarak bir proje oluşturun ve faturalandırmayı etkinleştirin.
- gcloud CLI'yi yükleyip başlatın.
Kimlik bilgisi dosyanızı oluşturmak için yerel makinenizde aşağıdaki
gcloud
komutunu çalıştırın:gcloud auth application-default login
- Giriş ekranı gösterilir. Giriş yaptıktan sonra kimlik bilgileriniz ADC tarafından kullanılan yerel kimlik bilgisi dosyasında saklanır.
Daha fazla bilgi için Uygulama Varsayılan Kimlik Bilgileri için kimlik bilgileri sağlama dokümanının Yerel geliştirme ortamı bölümüne bakın.
REST isteği gönderme
Bu örnekte iki istek üstbilgisi iletiyorsunuz:
Aşağıdaki komutu kullanarak jetonu oluşturmak için
Authorization
başlığında OAuth jetonunu iletin:gcloud auth application-default print-access-token
Döndürülen jetonun kapsamı
https://www.googleapis.com/auth/cloud-platform.
X-Goog-User-Project
başlığında, faturalandırmanın etkin olduğu Google Cloud projenizin kimliğini veya adını iletin. Daha fazla bilgi için Cloud Console'da ayarlama başlıklı makaleyi inceleyin.
Aşağıdaki örnekte, OAuth jetonu kullanılarak Geocoding API'ye çağrı yapılmaktadır:
curl -X GET -H 'Content-Type: application/json' \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://geocode.googleapis.com/v4beta/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
Sorun giderme
İsteğiniz, son kullanıcı kimlik bilgilerinin bu API tarafından desteklenmediğiyle ilgili bir hata mesajı döndürüyorsa Kullanıcı kimlik bilgileri çalışmıyor başlıklı makaleyi inceleyin.