OAuth kullan

Places API (Yeni), kimlik doğrulama için OAuth 2.0'ı destekler. Google; web sunucusu gibi yaygın OAuth 2.0 senaryolarını destekler.

Bu belgede, geliştirme ortamına tabidir. OAuth'u üretim ortamında kullanmayla ilgili talimatlar için Google'da Kimlik Doğrulama başlıklı makaleyi inceleyin.

Başlamadan önce

Places API'yi (Yeni) kullanmaya başlamadan önce faturalandırma hesabı ve Places API'nin (Yeni) etkin olduğu bir projeye ihtiyacınız vardı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 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 sunucular arası etkileşimleri destekler. Örneğin, ve Google hizmeti arasındaki ilişkiyi kontrol eder. 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 Authentication at Google (Google'da kimlik doğrulama).

Alternatif olarak, Android veya iOS mobil uygulamasının bir parçası olarak Places API'yi (Yeni) kullanabilirsiniz. Rehber API'si (Yeni) ile OAuth kullanma hakkında genel bilgiler için, mevcut bilgileri yönetme ve farklı dağıtım ortamları için erişim jetonları hakkında bilgi edinmek üzere Google API'lerine Erişmek için OAuth 2.0'ı Kullanma.

OAuth kapsamları hakkında

OAuth'u Places API (Yeni) ile kullanmak için kapsamın OAuth jetonuna atanması gerekir:

  • https://www.googleapis.com/auth/cloud-platform

Örnek: REST API çağrılarını yerel geliştirme ortamınızda deneme

Places API'yi (Yeni) OAuth jetonu kullanarak denemek istiyorsanız ancak bir ortamınız 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):

  1. Henüz yapmadıysanız bir proje oluşturun ve buradaki adımları uygulayarak faturalandırmayı etkinleştirin. Google Cloud Console'da kurun.
  2. gcloud CLI'yi yükleyip başlatın.
  3. Aşağıdaki gcloud komutunu çalıştırarak yerel makinenizde kimlik bilgisi dosyası:

    gcloud auth application-default login
  4. 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 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 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..

  • Faturalandırmanın etkin olduğu Google Cloud projenizin kimliğini veya adını X-Goog-User-Project üstbilgisi. Daha fazla bilgi için Cloud Console'da ayarlama başlıklı makaleyi inceleyin.

Aşağıdaki örnekte, OAuth jetonu kullanılarak Places API'ye (Yeni) çağrı yapılmaktadır:

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"

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.