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