Oturum jetonlarını kullanma
Oturum jetonları, kullanıcının otomatik tamamlamasının sorgu ve seçim aşamalarını gruplandırır faturalandırma amacıyla ayrı bir oturumda arama yapabilir. Aşağıdaki örneklerde gösterilen Otomatik Tamamlama (Yeni) ve Yer Ayrıntıları (Yeni) aramalarında oturum jetonlarının nasıl kullanılacağı.
Oturum jetonu oluşturma
Her oturum için benzersiz oturum jetonları oluşturmaktan kullanıcılar sorumludur. Google, sürüm 4 UUID'lerinin kullanılmasını önerir.
Otomatik tamamlama (Yeni) isteğinde bulunma
Otomatik Tamamlama (Yeni) isteği bir HTTP POST isteğidir. Okuyucu Gelirleri Yöneticisi'ni daha fazla bilgi için Otomatik Yer Tamamlama (Yeni) isteklerine bakın.
Aşağıdaki istek dizisinde, San Francisco'da pizza dükkanı arayan bir kullanıcı gösterilmektedir pek çok değişiklik yapabilirsiniz. Kullanıcı bir sorgu yazmaya başladığında, her tuş vuruşunu tıklayın. Oluşturulan oturum jetonu her çağrısına bir tıklama URL'si eklemeniz gerekir.
İlk istek ve yanıt
1. İstek
curl -X POST -d '{ "input": "p", "sessionToken": "3519edfe-0f75-4a30-bfe4-7cbd89340b2c", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' -H 'Content-Type: application/json' -H "X-Goog-Api-Key: YOUR_API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Yanıt 1
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJHSGzi_yAhYARnrPmDWAx9ro", "placeId": "ChIJHSGzi_yAhYARnrPmDWAx9ro", "text": { "text": "PIER 39, The Embarcadero, San Francisco, CA, USA", "matches": [ { "endOffset": 1 } ] }, "structuredFormat": { "mainText": { "text": "PIER 39", "matches": [ { "endOffset": 1 } ] }, "secondaryText": { "text": "The Embarcadero, San Francisco, CA, USA" } }, "types": [ "historical_landmark", "shopping_mall", "point_of_interest", "establishment", "marina", "tourist_attraction" ] } }, ] / ... / }
İkinci istek ve yanıt
2. İstek
curl -X POST -d '{ "input": "pi", "sessionToken": "3519edfe-0f75-4a30-bfe4-7cbd89340b2c", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' -H 'Content-Type: application/json' -H "X-Goog-Api-Key: YOUR_API_KEY" \ https://places.googleapis.com/v1/places:autocomplete
Yanıt 2
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJHSGzi_yAhYARnrPmDWAx9ro", "placeId": "ChIJHSGzi_yAhYARnrPmDWAx9ro", "text": { "text": "PIER 39, The Embarcadero, San Francisco, CA, USA", "matches": [ { "endOffset": 2 } ] }, "structuredFormat": { "mainText": { "text": "PIER 39", "matches": [ { "endOffset": 2 } ] }, "secondaryText": { "text": "The Embarcadero, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "shopping_mall", "marina", "historical_landmark", "tourist_attraction" ] } }, /.../ ] }
Üçüncü istek ve yanıt
3. İstek
curl -X POST -d '{ "input": "piz", "sessionToken": "3519edfe-0f75-4a30-bfe4-7cbd89340b2c", "locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } } }' -H 'Content-Type: application/json' -H "X-Goog-Api-Key: YOUR_API_KEY" https://places.googleapis.com/v1/places:autocomplete
Yanıt 3
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ_QJSSfGAhYARQVFJBNKy3HE", "placeId": "ChIJ_QJSSfGAhYARQVFJBNKy3HE", "text": { "text": "Pizza By The Slice, Grant Avenue, San Francisco, CA, USA", "matches": [ { "endOffset": 3 } ] }, "structuredFormat": { "mainText": { "text": "Pizza By The Slice", "matches": [ { "endOffset": 3 } ] }, "secondaryText": { "text": "Grant Avenue, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "food", "pizza_restaurant", "restaurant" ] } }, /.../ ] }.
Oturumu sonlandır
Yer Ayrıntıları (Yeni) veya Adres isteğinde bulunarak bir oturumu sonlandırın Otomatik tamamlama için kullandığınız oturum jetonunu doğrulama ve iletme (Yeni) istekler.
Yer Ayrıntıları (Yeni) isteğinde bulunma
Yer Ayrıntıları (Yeni) isteği bir HTTP GET isteğidir. Daha fazla bilgi için istek gövde parametreleri için Yer Ayrıntıları (Yeni) isteklerine bakın.
Aşağıdaki Yer Ayrıntıları (Yeni) isteği, seçilen yerin id
ve
önceki Otomatik Tamamlama (Yeni) aramalarında kullanılan sessionToken
.
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: YOUR_API_KEY" \ -H "X-Goog-FieldMask: id,displayName,accessibilityOptions,businessStatus" \ https://places.googleapis.com/v1/places/ChIJ_QJSSfGAhYARQVFJBNKy3HE?sessionToken=3519edfe-0f75-4a30-bfe4-7cbd89340b2c
ChIJ_QJSSfGAhYARQVFJBNKy3HE
yerden id
tanesi kullanılarak yapılan arama
aşağıdaki JSON yanıtı:
{ "id": "ChIJ_QJSSfGAhYARQVFJBNKy3HE", "businessStatus": "OPERATIONAL", "displayName": { "text": "Pizza By The Slice", "languageCode": "en" }, "accessibilityOptions": { "wheelchairAccessibleParking": false, "wheelchairAccessibleEntrance": true } }
Adres Doğrulama isteğinde bulunma
Adres Doğrulama isteği bir HTTP POST isteğidir. Okuyucu Gelirleri Yöneticisi'ni İstek gövde parametreleri hakkında Adres doğrulama isteği gönderme bölümünü inceleyin.
Aşağıdaki Adres Doğrulama isteği, seçilen yerler, Otomatik tamamlama (Yeni) yanıtınıntext
alanında bulunur ve
Önceki Otomatik Tamamlama (Yeni) aramalarında sessionToken
kullanıldı.
curl -X POST -d '{ "sessionToken": "3519edfe-0f75-4a30-bfe4-7cbd89340b2c", "address": { "addressLines": "Pizza By The Slice, Grant Avenue, San Francisco, CA, USA" } }' \ -H 'Content-Type: application/json' \ "https://addressvalidation.googleapis.com/v1:validateAddress?key=YOUR_API_KEY"
Çağrı, aşağıdaki JSON yanıtını oluşturur:
{ "result": { "verdict": { "inputGranularity": "PREMISE", "validationGranularity": "PREMISE", "geocodeGranularity": "PREMISE", "hasInferredComponents": true }, "address": { "formattedAddress": "Pizza By The Slice, Grant Avenue, San Francisco, CA 94133, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94133", "administrativeArea": "CA", "locality": "San Francisco", "addressLines": [ "Pizza By The Slice", "Grant Ave" ] }, "addressComponents": [ { "componentName": { "text": "Pizza By The Slice", "languageCode": "en" }, "componentType": "point_of_interest", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "Grant Avenue", "languageCode": "en" }, "componentType": "route", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "San Francisco", "languageCode": "en" }, "componentType": "locality", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "CA", "languageCode": "en" }, "componentType": "administrative_area_level_1", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "USA", "languageCode": "en" }, "componentType": "country", "confirmationLevel": "CONFIRMED" }, { "componentName": { "text": "94133" }, "componentType": "postal_code", "confirmationLevel": "CONFIRMED", "inferred": true } ], "missingComponentTypes": [ "street_number" ] }, "geocode": { "location": { "latitude": 37.800504, "longitude": -122.4074794 }, "plusCode": { "globalCode": "849VRH2V+62" }, "bounds": { "low": { "latitude": 37.800504, "longitude": -122.4074794 }, "high": { "latitude": 37.800504, "longitude": -122.4074794 } }, "featureSizeMeters": 10, "placeId": "ChIJ_QJSSfGAhYARQVFJBNKy3HE", "placeTypes": [ "food", "restaurant", "point_of_interest", "establishment" ] }, "uspsData": { "standardizedAddress": { "firstAddressLine": "PIZZA BY THE SLICE", "secondAddressLine": "GRANT AVE", "cityStateZipAddressLine": "SAN FRANCISCO", "city": "SAN FRANCISCO", "state": "CA", "zipCode": "94133" }, "dpvFootnote": "A1M1", "postOfficeCity": "SAN FRANCISCO", "postOfficeState": "CA" } }, "responseId": "4b669675-2c3b-463a-ae20-400248cf6ac9" }
Oturumdan vazgeçme
Kullanıcı oturumu terk ederse oturum sonlandırılır. Örneğin, bir kullanıcı Bir pizza dükkanı aramaya başlıyor ancak yer seçmiyorsa (bir pizzacının Yer Ayrıntıları (Yeni) araması) ya da adresi doğrulayın (bir Adres tetiklemek) Doğrulama çağrısı) oturum sonlandırılır ve oturum jetonunun süresi dolar.