OAuth kullan

Harita Kutuları API'si, kimlik doğrulama için OAuth 2.0 kullanımını destekler. Google, web sunucusu senaryoları gibi yaygın OAuth 2.0 senaryolarını destekler.

Bu belgede, geliştirme ortamınızdaki Map Tiles API çağrısına bir OAuth jetonunun nasıl iletileceği açıklanmaktadır. Üretim ortamında OAuth kullanma talimatları için Google'da Kimlik Doğrulama başlıklı makaleyi inceleyin.

Başlamadan önce

Map Tiles API'yi kullanmaya başlamadan önce faturalandırma hesabı ve Map Tiles API'nin etkinleştirilmiş olduğu bir projeye ihtiyacınız vardır. Birden fazla Proje Sahibi ve Faturalandırma Yöneticisi oluşturmanızı öneririz. Böylece ekibinizde bu rollere sahip birilerinin olur. Daha fazla bilgi edinmek için Cloud Console'da ayarlama bölümüne bakın.

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ındaki etkileşimler gibi sunucular arası etkileşimleri destekler. Bu senaryo için bir hizmet hesabına ihtiyacınız vardır. Hizmet hesabı, bireysel son kullanıcı yerine uygulamanıza ait bir hesaptır. Uygulamanız, hizmet hesabı adına Google API'lerini çağırır, böylece kullanıcılar sürece doğrudan dahil olmaz. Kimlik doğrulama yöntemleri hakkında daha fazla bilgi edinmek için Google'da Kimlik Doğrulama sayfasına göz atın.

Alternatif olarak, Map Tiles API'yi bir Android veya iOS mobil uygulamasının bir parçası olarak da kullanabilirsiniz. Farklı dağıtım ortamlarına ilişkin erişim jetonlarını yönetmeyle ilgili bilgiler de dahil olmak üzere, OAuth'u Harita Kutuları API'siyle kullanma hakkında genel bilgiler için Google API'lerine Erişmek için OAuth 2.0'ı Kullanma bölümüne bakın.

OAuth kapsamları hakkında

Map Tiles API'siyle OAuth kullanmak için OAuth jetonuna kapsam atanmalıdır:

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

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

OAuth jetonu kullanarak Map Tiles API'yi denemek istiyorsanız ancak jeton oluşturmak için bir ortam ayarınız yoksa çağrı yapmak için 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 daha fazla bilgi için İstemci kitaplıklarını kullanarak kimlik doğrulama bölümüne bakın.

Ön koşullar

ADC kullanarak REST isteğinde bulunmadan önce kimlik bilgilerini ADC'ye sağlamak için Google Cloud CLI'yi kullanın:

  1. 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.
  2. gcloud KSA'yı yükleyin ve başlatın.
  3. Kimlik bilgisi dosyanızı oluşturmak için yerel makinenizde şu gcloud komutunu çalıştırın:

    gcloud auth application-default login
  4. Bir 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 bilgilerini sağlama belgelerinin Yerel geliştirme ortamı bölümüne bakın.

REST isteğinde bulunma

Bu örnekte, iki istek başlığı iletirsiniz:

  • Jetonu oluşturmak için aşağıdaki komutu kullanarak Authorization üstbilgisine OAuth jetonunu iletin:

    gcloud auth application-default print-access-token

    Döndürülen jetonun kapsamı https://www.googleapis.com/auth/cloud-platform. şeklindedir

  • 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 bölümüne bakın.

Aşağıdaki örnekte OAuth jetonu kullanılarak Map Tiles API'ye ç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 '{
  "mapType": "roadmap",
  "language": "en-US",
  "region": "US"
}' \
"https://tile.googleapis.com/v1/createSession"

Sorun giderme

İsteğiniz, bu API tarafından desteklenmeyen son kullanıcı kimlik bilgileri hakkında bir hata mesajı döndürürse Kullanıcı kimlik bilgileri çalışmıyor bölümüne göz atın.