Bu belgede, Navigation Connect'i kullanmaya başlamak için gereken adımlar açıklanmaktadır.
|
Ön koşulları karşıladığınızdan emin olun. |
Google Cloud projenizde API'yi etkinleştirin. |
Kimliği doğrulanmış bir API isteği göndermek için OAuth'u yapılandırın. |
Google Haritalar Platformu ürünleri, API çağrılarının OAuth jetonu içermesini zorunlu kılarak yetkisiz kullanıma karşı korunur.
OAuth jetonu oluşturma
Navigation Connect, kimlik doğrulama için OAuth 2.0 kullanımını destekler. Google, web sunucusu gibi yaygın OAuth 2.0 senaryolarını destekler.
Bu belgede, geliştirme ortamınızda Navigation Connect çağrısına OAuth jetonunun nasıl iletileceği açıklanmaktadır. OAuth'u üretim ortamında kullanmayla ilgili talimatlar için Google'daki kimlik doğrulama yöntemleri başlıklı makaleyi inceleyin.
OAuth hakkında
Dağıtım ortamınıza bağlı olarak OAuth ile erişim jetonları oluşturup 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 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ıya değil, uygulamanıza ait olan 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 değildir. Kimlik doğrulama yöntemleri hakkında daha fazla bilgi için Google'daki kimlik doğrulama yöntemleri başlıklı makaleyi inceleyin.
Alternatif olarak, Navigation Connect'i Android veya iOS mobil uygulamasının bir parçası olarak da kullanabilirsiniz. Farklı dağıtım ortamları için erişim jetonlarını yönetme bilgileri de dahil olmak üzere Navigation Connect ile OAuth 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 Navigation Connect ile kullanmak için OAuth jetonuna şu 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
OAuth jetonu kullanarak Navigation Connect'i denemek istiyorsanız ancak jeton oluşturmak için ortam kurulumunuz yoksa bu bölümdeki prosedürü kullanarak çağrı yapabilirsiniz.
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 için İstemci kitaplıklarını kullanarak kimlik doğrulama başlıklı makaleyi inceleyin.
Ön koşullar
ADC kullanarak bir REST isteğinde bulunmadan önce Google Cloud CLI'yı kullanarak ADC'ye kimlik bilgileri sağlayın:
- gcloud CLI'yı yükleyip başlatın.
Kimlik bilgisi dosyanızı oluşturmak için yerel makinenizde aşağıdaki
gcloudkomutu çalıştırın:gcloud auth application-default login
- Giriş ekranı gösterilir. Oturum açtıktan sonra kimlik bilgileriniz ADC tarafından kullanılan yerel kimlik bilgisi dosyasına kaydedilir.
Daha fazla bilgi için Yerel geliştirme ortamı için ADC'yi ayarlama başlıklı makaleyi inceleyin.
REST isteğinde bulunma
Bu örnekte, iki istek üstbilgisi iletiyorsunuz:
Jetonu oluşturmak için aşağıdaki komutu kullanarak OAuth jetonunu
Authorizationüstbilgisinde iletin:gcloud auth application-default print-access-tokenDö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üstbilgisinde iletin.
Aşağıdaki örnekte, OAuth jetonu kullanılarak Navigation Connect'e çağrı yapılmaktadır.
Google Cloud projenizin kimliğini iletmek için PROJECT_ID alanını düzenleyin.
Ayrıca, uygun şekilde aşağıdakileri de düzenleyin:
- ANDROID_APP_ID: Uygulamanızın Android paket adı.
- IOS_APP_ID: Uygulamanızın iOS paket kimliği.
#!/bin/bash trip_id="$(uuidgen)" access_token="$(gcloud auth application-default print-access-token)" curl -X POST "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips?tripId=${trip_id}" \ -H "Authorization: Bearer ${access_token}" \ -H "Content-Type: application/json" \ -d '{ "androidAppId": "ANDROID_APP_ID", "iosAppId": "IOS_APP_ID", }'
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 bir JSON nesnesi olur:
{ "name": "projects/PROJECT_NUMBER/trips/TRIP_ID", "authToken": { "token": "BASE64_ENCODED_TRIP_TOKEN", "expireTime": "2026-03-06T11:09:47.476942Z" }, "state": "NEW", "execution": { "traveledDistanceMeters": 0, "stopAddedInRoute": false }, "createTime": "2026-03-05T23:09:50.768959Z", "updateTime": "2026-03-05T23:09:50.768959Z", }
Bu yanıtta aşağıdaki değerler yer alır:
- PROJECT_NUMBER: Projenin benzersiz uzun tamsayı tanımlayıcısı.
- TRIP_ID: Arka uçunuz tarafından UUIDv4 biçiminde oluşturulan gezi kimliği.
- BASE64_ENCODED_TRIP_TOKEN:
createTripyöntemi tarafından döndürülen kimliği doğrulanmış jeton. Google Haritalar veya Waze'de adım adım navigasyonu başlatmak için bu jetonu mobil uygulamanıza iletin.
Sorun giderme
İsteğiniz, son kullanıcı kimlik bilgilerinin bu API tarafından desteklenmediğiyle ilgili bir hata mesajı döndürürse ADC kurulumunuzla ilgili sorunları giderme başlıklı makaleyi inceleyin.
Sırada ne var?
Navigation Connect API'yi ayarlamanın bir sonraki adımı, arka uç altyapınız ile Google Haritalar ve Waze arasında güvenli, sunucudan sunucuya iletişimi etkinleştirmek için hizmet hesaplarınızı ayarlamaktır.