Cómo utilizar tokens de sesión correctamente?

nombre para mostrar :

Estoy utilizando el cliente de Java para la API de Google Places:

<dependency>
    <groupId>com.google.maps</groupId>
    <artifactId>google-maps-services</artifactId>
    <version>0.9.1</version>
</dependency>

El siguiente es cómo utilizar la API de autocompletar en mi servidor:

public List<AutocompletePrediction> searchAddress(String query) {

    List<AutocompletePrediction> predictions = new ArrayList<>();

    try {
        AutocompletePrediction[] autocompletePredictions = PlacesApi
                .placeAutocomplete(geoApiContext, query, null) 

        predictions.addAll(Arrays.asList(autocompletePredictions));
    } catch (ApiException | InterruptedException | IOException e) {
        e.printStackTrace();
    }

    return predictions;
}

Ahora, en el momento que estoy pasando nullcomo sessionToken:

.placeAutocomplete(geoApiContext, query, null) 

sobre todo porque no estoy del todo seguro de cómo se supone que estos trabajos.

Podría crear un token de cada 2 minutos y utilizar esa señal no importa qué usuario está actualmente escribiendo.

Así que esto significaría si dos usuarios la búsqueda "Location" y "lugar", las consultas entrantes podría tener este aspecto:

[User 1] 1. lo
[User 2] 2. p
[User 1] 3. loca
[User 2] 4. plac
[User 1] 5. locat
[User 1] 6. location
[User 2] 7. place

Ahora, yo podría utilizar para todas aquellas solicitudes de la misma manera Xy crear uno nuevo cada uno o dos minutos, pero no sé si esto está permitido y si esto afecta a la facturación.

La otra forma sería crear un caché por usuario que almacena para el usuario 1y 2una ficha X1y X2, respectivamente. Esta solución podría ser un poco más complejo y por eso me gustaría saber si la primera solución ya que funcionaría en el sentido de que no vamos a obtener una factura por cada petición.

Documentación

Evan:

Usted debe ser el uso de tokens de sesión debido a que afectan a la facturación. De acuerdo con la documentación de Google :

Si el sessiontokense omite el parámetro, o si vuelve a utilizar un identificador de sesión, la sesión se carga como si no se proporcionó token de sesión.

Ejemplo de solicitud que utiliza un sessiontoken:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=1600+Amphitheatre&key=<API_KEY>&sessiontoken=1234567890

Por favor, cree una nueva y única sesión de símbolo para cada sesión de autocompletar como se sugiere en la documentación vinculada.

Para aclarar aún más sobre las sesiones:

Un identificador de sesión es bueno para una sesión de usuario y no debe ser utilizado por más de una sesión de usuario.

Una sesión comienza cuando el usuario comienza a escribir una consulta, y concluye cuando seleccionan un lugar (es decir, cuando una de detalles de sitio se hace llamar). Esto está catalogado en el autocompletado (incluido con sitios detalles) - Por sesión SKU .

Si éste usuario no sin hacer una selección, la sesión terminará después de un corto período de tiempo (es decir, a los pocos minutos del inicio de la sesión). Esto está catalogado en el autocompletar sin Lugares detalles - por sesión SKU .

Si no se utiliza un token de sesión o se considera no válida, se le facturará en el autocompletar - por solicitud SKU .

Espero que esto ayude.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=318066&siteId=1
Recomendado
Clasificación