2015-06-04 11 views
6

Non riesco a recuperare l'ultima posizione nota. Ho abilitato l'API Geocoding e API Google Places per Android in google console. ho aggiunto chiave API per manifestare il file:Impossibile connettersi al client dell'API di Google

<meta-data 
    android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" /> 
<meta-data 
    android:name="com.google.android.geo.API_KEY" 
    android:value="@string/google_api_key" /> 

ma continuo a ricevere un messaggio nella console: "Impossibile connettersi al client API di Google: ConnectionResult {statusCode = API_UNAVAILABLE, risoluzione = null}"


UPDATE

I use google sample

protected synchronized void buildGoogleApiClient() { 
    mGoogleApiClient = new GoogleApiClient.Builder(this) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(LocationServices.API) 
      .build(); 
} 

@Override 
public void onConnected(Bundle connectionHint) { 
    Location mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
      mGoogleApiClient); 
    if (mLastLocation != null) { 
     Toast.makeText(this, "Latitude = " + mLastLocation.getLatitude() + "\n" + 
       "Longitude = " + mLastLocation.getLongitude(), Toast.LENGTH_LONG).show(); 
    } 
} 

@Override 
public void onConnectionFailed(ConnectionResult connectionResult) { 
    Toast.makeText(this, connectionResult.toString(), Toast.LENGTH_LONG).show(); 
} 

onConnected e onConnectionFailed non chiamare.

e anche io usare Android-ReactiveLocation ma entrambi i metodi sono uscita alla console: Impossibile connettersi al client API di Google: ConnectionResult {statusCode = API_UNAVAILABLE, risoluzione = null}

+0

inserisci il tuo codice per favore. – Jorgesys

risposta

3

Ho avuto lo stesso problema

Couldn't connect to Google API client: ConnectionResult{statusCode=API_UNAVAILABLE, resolution=null} 

perché Google Places API for Android non è stato abilitato nella Console API.

https://developers.google.com/places/android/signup

+0

ma ho abilitato l'API di Google Places per Android, ne ho scritto al riguardo – makaron

+0

@Elenasys: anch'io sto riscontrando lo stesso problema in produzione e ho sviluppato bene le sue opere nello sviluppo. Grazie in anticipo. –

0

Hai attivato il posto API nella Console per gli sviluppatori di Google? (nel menu API & Auth). Hai selezionato una chiave API Android?

Funziona bene per me quindi non so cosa potrebbe essere altrimenti.

+0

Sì, ho attivato l'API di Google Places per Android, ne ho scritto. Sì, ho selezionato una chiave API Android. – makaron

0

Non hai attivato Google+ Api sulla console.

Se si desidera utilizzare qualsiasi altra API ma è necessario che l'utente acceda a un account Google+, è necessario abilitarlo.

Spero che funzioni.

0

Ho riscontrato lo stesso problema con l'utilizzo dell'API di Google Fit.Con una configurazione molto simile a ciò che si descrive, ho ricevuto lo stesso messaggio di errore:

Impossibile collegarsi a Google API client: ConnectionResult {statusCode = API_UNAVAILABLE, risoluzione = null}

Il il problema è stato la configurazione delle comunicazioni con il servizio di accesso di Google. Ho risolto questo problema dopo aver trovato la documentazione di Google: Start Integrating Google Sign-In into Your Android App. Ho usato la sezione "Ottieni un file di configurazione" per istruzioni sul recupero dell'hash SHA1 per il mio keystore, quindi ho utilizzato il pulsante "Ottieni un file di configurazione" per avviare il processo di Google Developer Console per creare un file JSON inserito nel "/ app "directory dell'applicazione Android.

0

La mia applicazione utilizza API di Google Drive, e ho affrontato lo stesso problema "Impossibile connettersi al client API di Google:. ConnectionResult {statusCode = API_UNAVAILABLE, risoluzione = null} su alcuni dispositivi Consigli di passare attraverso Start Integrating Google Sign-In into Your Android App aiutato ma mi ha lasciato davvero confuso:
Come influenze di google-services.json su apk risultante? Devo fare lo stesso per il certificato di rilascio e così via? ...
Alla fine ho trovato cosa c'è dietro la scena e another answer rivela che i servizi di google .json è solo opzionale

Quindi questi passaggi mi hanno aiutato:

  1. Aprire Google Developer Console e aprire/creare un progetto
  2. Nel menu laterale aperta 'API Manager'
  3. On tap colonna di sinistra su 'credenziali'
  4. 'Aggiungere le credenziali' - 'ID OAuth 2.0 client'> -> 'Android' e riempirlo per ogni certificato che può essere utilizzato per la firma la vostra applicazione, vale a dire: certificato di rilascio, Jenkins certificato di debug, certificato di debug locale

Inoltre, non dimenticare di controllare che API corrispondente è abilitato nel tuo progetto (vedi punto 1)

Durante la generazione di google-services.json tramite Start Integrating Google Sign-In into Your Android App lo stesso 'ID client OAuth 2.0' viene creato in modo implicito.

0

Ho avuto un problema simile qui. Anche se non stavo usando alcuna API di Google in particolare, stavo riscontrando anche questo errore.

Il mio scenario era: stavo creando un'app indossabile e volevo inviare DataItem dal telefono alla portabile. Per fare ciò, stavo usando GoogleApiClient e Wearable.DataApi.

Dopo molte ore in difficoltà per risolvere il problema, sono arrivato a questo post: https://android-developers.googleblog.com/2014/10/tips-for-error-handling-with-android.html.

La parte sull'articolo che era importante per me era:

Quando si richiede Wearable.API quando nessuna applicazione Wear compagno Android o dispositivo è disponibile.

Così, ho risolto il problema di installare il Companion App sul telefono: https://play.google.com/store/apps/details?id=com.google.android.wearable.app

Dopo averlo installato, il ResultCallback ha iniziato a restituire il successo.