web-dev-qa-db-fra.com

Impossible de se connecter au client Google API

Je ne peux pas aller chercher le dernier endroit connu. J'ai activé API de géocodage et API Google Places pour Android dans la console google. J'ai ajouté la clé api au fichier manifeste:

<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" />

mais je continue à recevoir un message dans la console: " Impossible de se connecter au client de l'API Google: ConnectionResult {statusCode = API_UNAVAILABLE, resolution = null} "


UPDATE

J'utilise 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 et onConnectionFailed ne pas appeler.

Et aussi j'utilise Android-ReactiveLocation mais les deux méthodes sont sorties vers la console: Impossible de se connecter au client Google API: ConnectionResult {statusCode = API_UNAVAILABLE, resolution = null}

6
makaron

J'ai eu le même problème

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

parce que Google Places API for Android n'était pas activé dans la console de l'API.

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

3
Elenasys

J'ai eu un problème similaire ici. Bien que je n'utilisais pas spécifiquement l'API Google, j'avais également cette erreur.

Mon scénario était le suivant: je réalisais une application portable et je voulais envoyer DataItem du téléphone au portable. Pour ce faire, j'utilisais GoogleApiClient et Wearable.DataApi.

Après de nombreuses heures à lutter pour résoudre le problème, je suis arrivé à ce message: https://Android-developers.googleblog.com/2014/10/tips-for-err-error-handling-with-Android.html .

La partie de l'article qui était importante pour moi était:

Lors de la demande de Wearable.API lorsqu'aucune application ni aucun appareil Android Wear n'est disponible.

J'ai donc résolu le problème d'installation de l'application Companion sur le téléphone: https://play.google.com/store/apps/details?id=com.google.Android.wearable.app

Après l’avoir installé, ResultCallback a commencé à donner de bons résultats.

0
Loubake
import com.google.auth.oauth2.{GoogleCredentials, ServiceAccountCredentials}
import com.google.cloud.bigquery._

classe XYZRawDataIngestion {def run (): Unit = {

var credentials: GoogleCredentials = null
val client_id: String = "10754111315596"
val client_email: String = "[email protected]"
val private_key = "-----BEGIN PRIVATE KEY-----\nMII9xE9wTn68bxG8W60yU4O+JdullsTX\naOCrYTyVsTK+U78ElELXSqKn+Mqqka/IAS9ETCutLXhMNbTHbDUoN6POzU1c7GGz\nxSAmSXzVz6ejoJ9zoZXCB+cEI/CCne+GoGzg+CUCgYEAuGFxjuFNEAJbOamo6zWu\n/MobrYwqg4W4akwe4bgFE9lbpb3qs5pKhxGz0Utn3fNyhsTwQvgJ5oCBVIRxZwzv\nM8+4aHXGMJLNMf6EpUeoOCWOcp+6kLFNZZF9erUU1d3m+ID4Df4AUijIIG6lUQa1\nLP4eCwDeNpJGFcTQuz18u+U=\n-----END PRIVATE KEY-----\n"
val private_key_id: String = "79072ec47cc5a70bb4f2da1ccd4a"
val project_id = "xyz-mgmt"
val token_uri = new URI("https://oauth2.googleapis.com/token")

credentials = ServiceAccountCredentials.fromPkcs8(client_id, client_email, private_key, private_key_id,
  null, null, token_uri)

val bigquery: BigQuery = BigQueryOptions.newBuilder.setCredentials(credentials).setProjectId(project_id).build().getService()

}}

0
Rajiv Singh

Vous n'avez pas activé Google+ Api sur la console.

Si vous souhaitez utiliser une autre API mais que vous avez besoin que l'utilisateur se connecte avec un compte Google+, vous devez l'activer.

Esperons que ça marche.

0
George

J'ai rencontré le même problème avec l'utilisation de l'API Google Fit. Avec une configuration très similaire à celle que vous décrivez, j'ai reçu le même message d'erreur:

Impossible de se connecter au client de l'API Google: ConnectionResult {statusCode = API_UNAVAILABLE, resolution = null}

Le problème finissait par être la configuration pour les communications avec le service Google Sign-In. J'ai résolu ce problème après avoir trouvé la documentation Google: Commencez à intégrer Google Sign-In dans votre application Android . J'ai utilisé la section "Obtenir un fichier de configuration" pour obtenir des instructions sur la récupération du hachage SHA1 pour mon magasin de clés, puis le bouton "Obtenir un fichier de configuration" pour lancer le processus de la console pour développeurs Google afin de créer un fichier JSON placé dans le répertoire "/ app "répertoire de l'application Android.

0
chicagoCrazy

Avez-vous activé l’emplacement d’API dans le développeur de la console Google? (dans le menu API & Auth). Avez-vous sélectionné une clé API Android?

Cela fonctionne bien pour moi, donc je ne sais pas ce que cela pourrait être autrement.

0
IvannMG

Mon application utilise l'API Google Drive et j'ai rencontré le même problème "Impossible de se connecter au client de l'API Google: ConnectionResult {statusCode = API_UNAVAILABLE, résolution = null} sur certains appareils. Conseils de passage à travers Commencez à intégrer Google Sign-In dans votre application Android m'a aidé mais m'a laissé confus:
Comment google-services.json influence-t-il les résultats de l’apk? Devrais-je faire la même chose pour le certificat de sortie, etc.? ...
Finalement, j'ai trouvé ce qu'il y avait derrière la scène et une autre réponse indique que google-services.json est simplement facultatif.

Alors ces étapes m'ont aidé:

  1. Ouvrez Google Developer Console et ouvrez/créez un projet.
  2. Dans le menu latéral, ouvrez 'API Manager'
  3. Dans la colonne de gauche, appuyez sur "Informations d'identification"
  4. "Ajouter les informations d'identification" -> "ID client OAuth 2.0" -> "Android" et remplissez-le pour chaque certificat pouvant être utilisé pour signer votre application, à savoir: certificat de version, certificat de débogage Jenkins, certificat de débogage local

N'oubliez pas également de vérifier que l'API correspondante est activée dans votre projet (voir l'étape 1)

Lors de la génération de google-services.json via commencer à intégrer la connexion à Google dans votre application Android }, le même "ID client OAuth 2.0" est créé implicitement.

0
demaksee