2015-06-04 2 views
6

Я не могу найти последнее известное местоположение. Я включил API геокодирования и Google Places API для Android в консоли Google. Я добавил ключ апи явить файла:Не удалось подключиться к клиенту API 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" /> 

, но я получаю сообщение в консоли: "Не удалось подключиться к клиенту API Google: ConnectionResult {StatusCode = API_UNAVAILABLE, разрешение = нуль}"


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 и onConnectionFailed не называют.

А также я использую Android-ReactiveLocation но оба метода выводятся на консоль: Не удалось подключиться к клиенту API Google: ConnectionResult {StatusCode = API_UNAVAILABLE, разрешение = нуль}

+0

напишите свой код пожалуйста. – Jorgesys

ответ

3

У меня была такая же проблема

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

поскольку Google Places API for Android не был включен в API-консоли.

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

+0

, но я включил API Google Адресов для Android, я написал об этом – makaron

+0

@Elenasys: Я также получаю такую ​​же проблему в производстве и строю свои работы в разработке. Заранее спасибо. –

0

Вы позволили разместить API в консоли разработчика Google? (в меню API & Auth). Вы выбрали ключ API Android?

Это прекрасно работает для меня, поэтому я не знаю, что бы это могло быть иначе.

+0

Да, я включил API Google Адресов для Android, я написал об этом. Да, я выбрал ключ API Android. – makaron

0

Вы не активировали Google+ Api на консоли.

Если вы хотите использовать какой-либо другой API, но вам нужно будет войти в систему с учетной записью Google+, вам необходимо включить его.

Надеюсь, он сработает.

0

Я столкнулся с той же проблемой с использованием API Google Fit.С очень аналогичной установки на то, что вы описали, я получил то же самое сообщение об ошибке:

Не удалось подключиться к Google API клиента: ConnectionResult {StatusCode = API_UNAVAILABLE, разрешение = NULL}

проблема оказалась конфигурацией для связи с службой входа в Google. Я решил эту проблему после поиска документации Google: Start Integrating Google Sign-In into Your Android App. Я использовал раздел «Получить файл конфигурации» для получения инструкций по извлечению хэша SHA1 для моего хранилища ключей, а затем использовал кнопку «Получить файл конфигурации», чтобы инициировать процесс консоли разработчика Google, чтобы создать файл JSON, который был помещен в папку «/ app "приложения для Android.

0

Мое приложение использует Google Drive API, и я столкнулся с такой же вопрос «Не удалось подключиться к клиенту API Google:. ConnectionResult {StatusCode = API_UNAVAILABLE, разрешение = нуль} на некоторых устройствах Советы пройти через Start Integrating Google Sign-In into Your Android App помогло, но оставил меня очень смущенным:
Как влияет google-services.json на полученный apk? Должен ли я сделать то же самое для сертификата выпуска и так далее? ...
В конце концов я нашел то, что находится за сценой, и another answer показывает, что google-services .json просто необязательный.

Итак, эти шаги помогли мне:

  1. Открыть Google Developer Console и открыть/создать проект
  2. В боковом меню открытой «API диспетчера»
  3. На левом кране колонке на «Полномочия»
  4. «Добавить учетные данные» -> «OAuth клиента 2,0 ID» -> «Android» и заполните его для каждого сертификата, который можно использовать для подписания вашего приложения, то есть: сертификат выпуска, сертификат отладки Jenkins, местный сертификат отладки

Также не забудьте проверить, включен ли соответствующий API в вашем проекте (см. шаг № 1)

Во время генерации google-services.json через Start Integrating Google Sign-In into Your Android App тот же идентификатор клиента OAuth 2.0 создается неявно.

0

У меня была аналогичная проблема. Хотя я и не использовал какой-либо Google API, у меня тоже была эта ошибка.

Мой сценарий был: Я делал Wearable App и хотел отправить DataItem с телефона на носимый. Для этого я использовал GoogleApiClient и Wearable.DataApi.

После многих часов, пытающихся решить проблему, я пришел к этому сообщению: https://android-developers.googleblog.com/2014/10/tips-for-error-handling-with-android.html.

Часть в статье, что было важно для меня было:

При запросе Wearable.API, когда ни одно приложение Android Wear спутник или устройство не доступно.

Итак, я решил проблему с установкой Companion App по телефону: https://play.google.com/store/apps/details?id=com.google.android.wearable.app

После установки его, ResultCallback начал возвращать успех.

Смежные вопросы