<

Ottenere dati da un ID posizione Google

Ottenere dati da un ID posizione Google serve a reperire informazioni da un'attività su Google Places e Google Maps; ad esempio recensioni, orari di apertura o indirizzo e mostrarle su schermo oppure utilizzarle per calcolare un determinato risultato. Tenere presente che le recensioni ottenute saranno fino a 5.

Ottenere parametri base

La prima cosa da fare obbligatoriamente è ottenere i parametri da passare poi all'interno della funzione di chiamata alle API di Google:

Ottenere Place ID

Andare alla pagina di documentazione Google e inserire nel campo apposito il nome dell'attività, verrà ottenuto il Place ID. Segnarlo da parte.

Ottenere API key

Andare alla Google cloud platform e seguire questi passaggi:

  • fare il login
  • creare un progetto e selezionarlo
  • andare alla pagina API e servizi
  • cliccare su +ABILITA API E SERVIZI
  • cercare places api nel campo di ricerca
  • cliccare su abilita
  • cliccare su gestisci oppure ritornare alla pagina API e servizi e cliccare su credenziali
  • cliccare su +CREA CREDENZIALI, Chiave API
  • segnarla da parte ed eventualmente limitarne l'utilizzo

GetPlaceId

Funzione php che esegue una richiesta all'endpoint Google per ottenere i dati della posizione e, se tutto ok, ritorna i dati da usare come si preferisce:

Parametri

Tre parametri Interni alla funzione:

  • $placeid - stringa
  • $key - stringa
  • $language - stringa - default: 'it'

Return

Oggetto contenente i dati (se trovati) oppure false.

Funzione

function GetPlaceId() {
  $placeid	= 'INSERIRE PLACE ID';
  $key		= 'INSERIRE KEY';
  $language	= 'it' ;
  $reviews_sort   = 'most_relevant'; //oppure newest

  $url = 'https://maps.googleapis.com/maps/api/place/details/json?placeid='.urlencode( $placeid ).'&reviews_sort='.$reviews_sort.'&key='.urlencode( $key );
  if( !empty( $language ) ){ $url.='&language='.urlencode( $language ); }    

  $response = wp_remote_get( $url );
  if( is_wp_error( $response ) ){ return false; }

  $body = wp_remote_retrieve_body( $response );
  $data = json_decode( $body );

  if( $data && isset( $data->result ) ){ return $data->result; }	
  else{ return false; }
}

Esempio

echo GetPlaceId()->name;

Risultato

GIGITOPC, L'ARTIGIANO DEL PC

Documentazione rilevante