Route Optimization API'si, kimlik doğrulama için OAuth 2.0 kullanımını destekler. Google, web sunucusu için olanlar gibi yaygın OAuth 2.0 senaryolarını destekler.
Bu belgede, geliştirme ortamına tabidir. OAuth kullanımına ilişkin talimatlar için üretim ortamı hakkında daha fazla bilgi edinmek için Google'da kimlik doğrulama.
Başlamadan önce
Route Optimization API'yi kullanmaya başlamadan önce Route Optimization API'nin etkinleştirilmiş olduğu bir faturalandırma hesabı kullanın. 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 bölümüne bakın.
OAuth hakkında
Dağıtımınıza bağlı olarak OAuth ile erişim jetonları oluşturup yönetmenin birçok yolu vardır bahsedeceğim.
Örneğin, Google OAuth 2.0 sistemi sunucular arası etkileşimleri destekler. Örneğin, ve Google hizmeti arasındaki bir iletişim taklididir. Bu senaryo için bir hizmet hesabına ihtiyacınız var. bireysel bir son kullanıcıya değil, uygulamanıza ait bir hesaptır. Sizin Uygulama, hizmet hesabı adına Google API'lerini çağırır. Dolayısıyla kullanıcılar sürece 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 parçası olarak Route Optimization API'yi kullanabilirsiniz. Route Optimization API ile OAuth kullanma hakkında genel bilgiler için (yönetimle ilgili bilgiler dahil) farklı dağıtım ortamları için erişim jetonları hakkında daha fazla bilgi Google API'lerine Erişmek için OAuth 2.0 Kullanma.
OAuth kapsamları hakkında
OAuth'u Route Optimization API ile kullanmak için OAuth jetonuna 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
Route Optimization API'yi 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):
- Henüz yapmadıysanız bir proje oluşturun ve buradaki adımları uygulayarak faturalandırmayı etkinleştirin. Google Cloud Console'da kurun.
- gcloud KSA'yı yükleyin ve başlatın.
Aşağıdaki
gcloud
komutunu çalıştırarak yerel makinenizde kimlik bilgisi dosyası:gcloud auth application-default login
- Bir giriş ekranı görüntülenir. Giriş yaptıktan sonra, kimlik bilgileriniz ADC tarafından kullanılan yerel kimlik bilgileri dosyası.
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
Authorization
üstbilgisindeki OAuth jetonunu iletin komutunu kullanın:gcloud auth application-default print-access-token
Döndürülen jetonun kapsamı:
https://www.googleapis.com/auth/cloud-platform.
.- İstek gövde içerik türünün
application/json
olduğunu belirtin.
Aşağıdaki örnekte, OAuth jetonu kullanarak Route Optimization API'ye çağrı yapılır:
curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data-binary @- << EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.73881799999999, "longitude": -122.4161 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.79581, "longitude": -122.4218856 } } ] } ], "vehicles": [ { "startLocation": { "latitude": 37.73881799999999, "longitude": -122.4161 }, "endLocation": { "latitude": 37.73881799999999, "longitude": -122.4161 } } ], "globalStartTime": "2023-01-13T16:00:00-08:00", "globalEndTime": "2023-01-14T16:00:00-08:00" } } EOM
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.