सेशन टोकन का इस्तेमाल करना
सेशन टोकन, उपयोगकर्ता की ऑटोमैटिक तरीके से पूरी होने वाली खोज की क्वेरी और चुनने के चरणों को बिलिंग के मकसद से अलग सेशन में ग्रुप करते हैं. यहां दिए गए उदाहरणों में, ऑटोकंप्लीट (नया) और जगह की जानकारी (नया) कॉल में सेशन टोकन इस्तेमाल करने का तरीका बताया गया है.
सेशन टोकन बनाना
हर सेशन के लिए यूनीक सेशन टोकन जनरेट करने की ज़िम्मेदारी उपयोगकर्ताओं की होती है. Google, वर्शन 4 यूयूआईडी का इस्तेमाल करने का सुझाव देता है.
अपने-आप पूरा होने की सुविधा (नया) का अनुरोध करना
अपने-आप पूरा होने वाला (नया) अनुरोध, एचटीटीपी पोस्ट अनुरोध होता है. अनुरोध बॉडी पैरामीटर के बारे में ज़्यादा जानकारी के लिए, जगह की जानकारी के लिए ऑटोकंप्लीट (नया) अनुरोध देखें.
अनुरोधों की इस सीरीज़ में, एक उपयोगकर्ता को सैन फ़्रांसिस्को में पिज़्ज़ा की दुकान खोजते हुए दिखाया गया है. जब उपयोगकर्ता कोई क्वेरी टाइप करना शुरू करता है, तो हर कीस्ट्रोक के लिए ऑटोकंप्लीट (नया) को कॉल किया जाता है. जनरेट किया गया सेशन टोकन, हर कॉल में पैरामीटर के तौर पर पास किया जाता है.
पहला अनुरोध और रिस्पॉन्स
पहला अनुरोध
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
पहला जवाब
{ "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" ] } }, ] / ... / }
दूसरा अनुरोध और रिस्पॉन्स
दूसरा अनुरोध
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
दूसरा जवाब
{ "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" ] } }, /.../ ] }
तीसरा अनुरोध और रिस्पॉन्स
तीसरा अनुरोध
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
तीसरा जवाब
{ "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" ] } }, /.../ ] }
सेशन खत्म करना
जगह की जानकारी (नया) या पते की पुष्टि करने के लिए अनुरोध करके, किसी सेशन को खत्म करें. साथ ही, वही सेशन टोकन पास करें जिसका इस्तेमाल आपने ऑटोमैटिक तरीके से पूरा नाम लिखने की सुविधा (नया) के अनुरोधों के लिए किया था.
जगह की जानकारी (नया) का अनुरोध करना
जगह की जानकारी (नया) का अनुरोध, एचटीटीपी GET अनुरोध होता है. अनुरोध के मुख्य हिस्से में मौजूद पैरामीटर के बारे में ज़्यादा जानने के लिए, जगह की जानकारी (नया) अनुरोध देखें.
जगह की जानकारी (नया) के लिए किए गए इस अनुरोध में, चुनी गई जगह का id
और ऑटोकंप्लीट (नया) के पिछले कॉल में इस्तेमाल किया गया 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
की जगह id
का इस्तेमाल करके, कॉल से यह JSON रिस्पॉन्स जनरेट होता है:
{ "id": "ChIJ_QJSSfGAhYARQVFJBNKy3HE", "businessStatus": "OPERATIONAL", "displayName": { "text": "Pizza By The Slice", "languageCode": "en" }, "accessibilityOptions": { "wheelchairAccessibleParking": false, "wheelchairAccessibleEntrance": true } }
पते की पुष्टि का अनुरोध करना
पते की पुष्टि करने का अनुरोध, एचटीटीपी पोस्ट अनुरोध होता है. अनुरोध बॉडी पैरामीटर के बारे में ज़्यादा जानकारी के लिए, पते की पुष्टि का अनुरोध भेजना देखें.
पते की पुष्टि करने के लिए किए गए इस अनुरोध में, चुनी गई जगह का पता शामिल है. यह पता, ऑटोकंप्लीट (नया) रिस्पॉन्स केtext
फ़ील्ड में मिलता है. साथ ही, इसमें ऑटोकंप्लीट (नया) कॉल में इस्तेमाल किया गया sessionToken
भी शामिल है.
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"
कॉल से यह JSON रिस्पॉन्स जनरेट होता है:
{ "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" }
सेशन छोड़ना
अगर उपयोगकर्ता सेशन छोड़ देता है, तो सेशन खत्म हो जाता है. उदाहरण के लिए, अगर कोई उपयोगकर्ता पिज्ज़ा शॉप खोजना शुरू करता है, लेकिन कोई जगह नहीं चुनता (जगह की जानकारी (नया) कॉल को ट्रिगर करता है) या पते की पुष्टि नहीं करता (पते की पुष्टि करने वाले कॉल को ट्रिगर करता है), तो सेशन खत्म हो जाता है और सेशन टोकन की समयसीमा खत्म हो जाती है.