Bu belgede, Places API'yi (Yeni) kullanmaya başlamak için gereken adımlar açıklanmaktadır.
Ön koşullar
Bu prosedür, faturalandırmanın etkin olduğu bir Google Cloud Hesabı ve Google Cloud projesi oluşturma konusunda size yol gösterir. Ayrıca Places API'yi (Yeni) kullanırken nasıl ücretlendirildiğinizi de bilmeniz gerekir.
- Places API (Yeni) Kullanımı ve Faturalandırması bölümünde kullanım için faturalandırmayı ve maliyeti inceleyin.
Google Cloud Hesabınız olduğunu doğrulayın.
Google Cloud Console'da oturum açınFaturalandırmanın etkin olduğu bir Google Cloud projeniz olduğunu doğrulayın.
Faturalandırma sayfasına gidin- Faturalandırma sayfasını açmak için projenizi seçin.
Faturalandırma sayfasında:
- Seçilen proje için faturalandırma zaten etkinleştirilmişse ve yalnızca tek bir faturalandırma hesabınız varsa Faturalandırma sayfası açılır.
- Birden fazla faturalandırma hesabınız varsa projeyle ilişkili faturalandırma hesabı hakkındaki ayrıntıları görmek için Bağlı faturalandırma hesabına git'i seçin.
- Bir faturalandırma hesabı varsa ancak projeyle ilişkilendirilmemişse bir faturalandırma hesabını projeye bağlamanız istenir.
- Faturalandırma hesabı yoksa veya yeni bir faturalandırma hesabı oluşturmak istiyorsanız yeni bir faturalandırma hesabı oluşturmak için Faturalandırma Hesaplarını Yönet'i seçin. Daha fazla bilgi için Yeni bir self servis Cloud Faturalandırma Hesabı oluşturma başlıklı makaleyi inceleyin.
API'yi etkinleştirme
Places API'yi (Yeni) kullanabilmek için Google Cloud Console'u veya gcloud komutunu kullanarak Google Cloud projenizde etkinleştirmeniz gerekir.
API'yi etkinleştirmek için:
Konsol
Google Cloud Console'da ürün sayfasını açın:
Places API'yi (yeni) etkinleştirmeEtkinleştir düğmesini tıklayın.
gcloud
gcloud services enable \ --project "PROJECT" \ "places.googleapis.com"
Google Cloud SDK, Cloud SDK yüklemesi ve aşağıdaki komutlar hakkında daha fazla bilgi edinin:
Places API (Yeni) ile kullanmak için API anahtarı alma
Google Haritalar Platformu ürünleri, API çağrılarının bir API anahtarı veya OAuth jetonu içermesini zorunlu kılarak yetkisiz kullanıma karşı korunur. Öncelikle API anahtarı prosedürünü tamamlamanız gerekir. Bunun yerine OAuth jetonu kullanmak için OAuth jetonu oluşturma başlıklı makaleyi inceleyin.
API anahtarı, Cloud Faturalandırma Hesabınızı ve Google Cloud projenizi, uygulamanızın bir Google Haritalar Platformu API'sine veya SDK'sına yaptığı istekle ilişkilendiren benzersiz bir alfanümerik dizedir. Yeni bir anahtar oluşturmak veya mevcut bir anahtara API ya da SDK eklemek için bu talimatları uygulayın.
Konsol
-
Google Haritalar Platformu > Anahtarlar ve Kimlik Bilgileri sayfasına gidin.
- İstenirse projenizi seçin.
-
Aşağıdakilerden birini yapın:
-
Yeni anahtar oluşturma:
- Kimlik bilgileri oluştur > API anahtarı'nı tıklayın.
- API anahtarı oluştur panelinde API kısıtlamalarını seçin listesini açın.
- Bu anahtarın ihtiyaç duymadığı API'leri temizleyin ve Places API (New)'in seçili kaldığından emin olun.
- Oluştur'u tıklayın. Panelde yeni API anahtarınız gösterilir.
-
Mevcut bir anahtarı kullanma:
- Anahtarın adını tıklayın.
- API kısıtlamalarını seçin listesinde Places API (New)'i seçin.
- Kaydet'i tıklayın.
Burada bir API seçmek, API'yi etkinleştirmez. Places API'nin (Yeni) API Kitaplığı sayfasında etkinleştirildiğinden emin olun.
-
- Anahtar dizesini daha sonra görmek için Anahtarlar ve Kimlik Bilgileri sayfasına gidip anahtar için Anahtarı göster'i tıklayın.
Konsol bu adımlardan farklı görünüyorsa Google Cloud belgelerindeki API anahtarı oluşturma ve API kısıtlamaları ekleme bölümlerine bakın.
gcloud
Aşağıdaki komutlarda PROJECT_ID ifadesini proje kimliğinizle değiştirin.
-
Yeni anahtar oluşturma: Aşağıdaki komutu çalıştırın ve DISPLAY_NAME yerine anahtarın adını yazın.
gcloud services api-keys create \ --project="PROJECT_ID" \ --display-name="DISPLAY_NAME" \ --api-target=service=places.googleapis.com
Google Cloud SDK, Cloud SDK yüklemesi ve aşağıdaki komutlar hakkında daha fazla bilgi edinin:
-
Mevcut bir anahtarı kullanma: Aşağıdaki komutu çalıştırın ve KEY_ID değerini anahtarın kimliğiyle değiştirin.
--appendişareti, anahtarın halihazırda izin verdiği API'leri korur. Bu parametre kullanılmadığında komut, mevcut etiketleri değiştirir.gcloud services api-keys update KEY_ID \ --project="PROJECT_ID" \ --append \ --api-target=service=places.googleapis.com
Google Cloud SDK, Cloud SDK yüklemesi ve aşağıdaki komutlar hakkında daha fazla bilgi edinin:
Anahtar kimliği, anahtar dizesi veya görünen ad değildir. Bunu bulmak için
gcloud services api-keys list --project="PROJECT_ID"komutunu çalıştırın. Kimlik,namealanının son kısmıdır:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.
Anahtar dizesini görmek için gcloud services api-keys get-key-string KEY_ID
--project="PROJECT_ID" komutunu çalıştırın.
API isteği gönderme
"Spicy Vegetarian Food in Sydney, Australia" dizesi için metin arama ile ilgili JSON yanıtı döndürmek üzere Places API (yeni) isteği gönderin. Her isteğe API anahtarınızın alfanümerik dizesini eklemeniz ve API anahtarını içeren istekler için HTTPS kullanmanız gerekir.
Anahtarın alfasayısal dizesini eklemek için aşağıdaki kodda API_KEY simgesini tıklayın:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'curlkomutunu kopyalamak için kod örneğindeki kopyalama simgesini (
) tıklayın.- Komutu bir terminal penceresine yapıştırıp çalıştırın.
Yanıt, aşağıdaki biçimde bir JSON nesnesidir:
{ "places": [ { "name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0", "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0", "types": [ "vegan_restaurant", "vegetarian_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "nationalPhoneNumber": "0433 479 794", "internationalPhoneNumber": "+61 433 479 794", "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "addressComponents": [ { "longText": "29", "shortText": "29", "types": [ "street_number" ], "languageCode": "en-US" }, ... }
API anahtarı kısıtlamaları uygulama
Google, API anahtarlarınızı yalnızca ihtiyaç duyan API'ler ve uygulamalarla sınırlayarak kısıtlamanızı önemle tavsiye eder. API anahtarlarını kısıtlamak, uygulamanızı haksız isteklere karşı koruyarak güvenliğini artırır. API anahtarları iki tür kısıtlamayı destekler:
- API kısıtlamaları, API anahtarı kullanılarak hangi SDK'ların ve API'lerin çağrılabileceğini belirtir. Konsol ve gcloud CLI, anahtar oluştururken en az bir API kısıtlaması gerektirir.
- Uygulama kısıtlamaları, bir API anahtarını hangi web sitelerinin, IP adreslerinin veya uygulamaların kullanabileceğini belirtir.
Kısıtlama uygulama hakkında daha fazla bilgi için API anahtarlarınızı kısıtlama başlıklı makaleyi inceleyin.
OAuth jetonu oluşturma
Places API (Yeni), kimlik doğrulama için OAuth 2.0'ı destekler. Google, web sunucusu senaryoları gibi yaygın OAuth 2.0 senaryolarını destekler.
Bu belgede, geliştirme ortamınızda bir Places API (Yeni) çağrısına OAuth jetonunun nasıl iletileceği açıklanmaktadır. OAuth'u üretim ortamında kullanma hakkında daha fazla bilgi için Google'da kimlik doğrulama yöntemleri başlıklı makaleyi inceleyin.
Sunucuya API istekleri göndererek Google Maps API'leri doğrudan çağırabilir veya kodunuzu basitleştirmek için istemci kitaplıklarını kullanabilirsiniz. Google Haritalar; Go, Java, Node.js ve Python için istemci kitaplıkları sağlar. Daha fazla bilgi için Places API (Yeni) istemci kitaplıkları başlıklı makaleyi inceleyin.
OAuth'a genel bakış
Dağıtım ortamınıza bağlı olarak OAuth ile erişim jetonlarını çeşitli şekillerde oluşturabilir ve yönetebilirsiniz.
Uygulamanız ile bir Google hizmeti arasındaki sunucudan sunucuya etkileşimler için OAuth 2.0'ı kullanabilirsiniz. Bu senaryoda, bireysel bir kullanıcı yerine uygulamanızla ilişkili bir hizmet hesabı kullanırsınız. Kullanıcıları doğrudan dahil etmeden hizmet hesabını kullanarak API istekleri gönderebilirsiniz. Kimlik doğrulama yöntemleri hakkında daha fazla bilgi için Google'da kimlik doğrulama yöntemleri başlıklı makaleyi inceleyin.
Alternatif olarak, Places API'yi (Yeni) bir Android veya iOS mobil uygulamasına entegre edebilirsiniz. Farklı dağıtım ortamları için OAuth kullanımı ve erişim jetonlarını yönetme hakkında daha fazla bilgi edinmek üzere Google API'lerine Erişmek için OAuth 2.0'ı Kullanma başlıklı makaleyi inceleyin.
OAuth kapsamları
Places API (Yeni) ile OAuth kullanmak için OAuth jetonuna aşağıdaki kapsamı atamanız gerekir:
https://www.googleapis.com/auth/cloud-platform
Örnek: Yerel geliştirme ortamınızda REST API çağrılarını deneme
Jeton oluşturan bir ortamınız yoksa ve Places API'yi (Yeni) OAuth jetonuyla denemek istiyorsanız bu bölümdeki prosedürü uygulayın.
Bu örnekte, çağrıyı 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ıyla Google API'lerini çağırmak için ADC'yi kullanma hakkında daha fazla bilgi edinmek istiyorsanız İstemci kitaplıklarını kullanarak kimlik doğrulama başlıklı makaleyi inceleyin.
Aşağıdaki REST prosedürünü yalnızca geliştirme veya test için kullanın, üretim için kullanmayın.
Ön koşullar
ADC kullanarak REST isteği göndermeden önce ADC'ye kimlik bilgileri sağlamak için gcloud CLI'yı kullanın:
gcloudKSA'yı yükleyip ilk kullanıma hazırlayın. Daha fazla bilgi için gcloud CLI'yi yükleme başlıklı makaleyi inceleyin.gcloudCLI ile kimlik doğrulama:gcloud auth application-default login
Kimlik bilgilerinizi ADC tarafından kullanılan yerel kimlik bilgisi dosyasına kaydetmek için oturum açma işlemini tamamlayın.
Daha fazla bilgi için Yerel geliştirme ortamı için ADC'yi ayarlama başlıklı makaleyi inceleyin.
REST isteği gönderme
Bu örnekte iki istek başlığı iletilir:
Jetonu oluşturmak için aşağıdaki komutu kullanarak OAuth jetonunu
Authorizationbaşlığında iletin:gcloud auth application-default print-access-tokenDöndürülen jetonun kapsamı
https://www.googleapis.com/auth/cloud-platform.X-Goog-User-Projectbaşlığında, faturalandırmanın etkin olduğu Google Cloud projenizin kimliğini veya adını iletin.
Places API'yi (Yeni) OAuth jetonu kullanarak çağırmak için aşağıdaki adımları uygulayın:
Aşağıdaki kod örneğinde PROJECT_ID yerine Google Cloud proje kimliğinizi yazın:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \ "https://places.googleapis.com/v1/places:searchText"
curlkomutunu kopyalamak için kod örneğinde Kopyala'yı tıklayın.Komutu bir terminal penceresine yapıştırıp çalıştırın.
Yanıt bir JSON nesnesi olur:
{
"places": [
{
"name": "places/ChIJs5ydyTiuEmsR0fRSlU0C7k0",
"id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
"types": [
"vegan_restaurant",
"vegetarian_restaurant",
"meal_takeaway",
"restaurant",
"food",
"point_of_interest",
"establishment"
],
"nationalPhoneNumber": "0433 479 794",
"internationalPhoneNumber": "+61 433 479 794",
"formattedAddress": "29 King St, Sydney NSW 2000, Australia",
"addressComponents": [
{
"longText": "29",
"shortText": "29",
"types": [
"street_number"
],
"languageCode": "en-US"
},
...
}
Sorun giderme
İsteğiniz, bu API'nin son kullanıcı kimlik bilgilerini desteklemediğini belirten bir hata mesajı döndürürse ADC kurulumunuzla ilgili sorunları giderme başlıklı makaleyi inceleyin.
Sırada ne var?
Places API'yi (Yeni) etkinleştirip bir API anahtarı yapılandırdığınıza göre, Places API'yi (Yeni) nasıl kullanacağınız hakkında daha fazla bilgi edinmek için Places API (Yeni) hakkında başlıklı makaleyi inceleyin.