web-dev-qa-db-ja.com

GoogleAPIクライアントに接続できませんでした

最後の既知の場所を取得できません。 GoogleコンソールでGeocoding APIGoogle Places API for Androidを有効にしました。マニフェストファイルにAPIキーを追加しました:

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

しかし、コンソールに「Google APIクライアントに接続できませんでした:ConnectionResult {statusCode = API_UNAVAILABLE、resolution = null}」というメッセージが表示され続けます。


[〜#〜]更新[〜#〜]

私はグーグルサンプルを使用します

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 を使用しますが、両方のメソッドがコンソールに出力されます:Google APIクライアントに接続できませんでした:ConnectionResult {statusCode = API_UNAVAILABLE、resolution = null }

7
makaron

私は同じ問題を抱えていました

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

4
Jorgesys

私はここで同様の問題を抱えていました。特にGoogleAPIを使用していませんでしたが、このエラーも発生していました。

私のシナリオは次のとおりです。ウェアラブルアプリを作成していて、DataItemを電話からウェアラブルに送信したいと考えていました。そのために、私はGoogleApiClientとWearable.DataApiを使用していました。

問題を解決するのに何時間も苦労した後、私はこの投稿に行きました: https://Android-developers.googleblog.com/2014/10/tips-for-error-handling-with-Android.html =。

私にとって重要な記事の部分は次のとおりです。

Android Wearコンパニオンアプリケーションまたはデバイスが利用できない場合にWearable.APIをリクエストする場合。

だから、私は電話にコンパニオンアプリをインストールする問題を解決しました: https://play.google.com/store/apps/details?id=com.google.Android.wearable.app

それをインストールした後、ResultCallbackは成功を返し始めました。

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

class 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

コンソールでGoogle + Apiを有効にしていません。

他のAPIを使用したいが、ユーザーがGoogle+アカウントでログインする必要がある場合は、それを有効にする必要があります。

  • ここにログイン: https://console.developers.google.com/project?authuser=
  • プロジェクトを選択してください
  • 左側にある「APIと認証」を見つけます
  • APIをクリックします
  • このリストには、利用可能な多くのAPIが表示されます。

それがうまくいくことを願っています。

0
George

Google FitAPIの利用で同じ問題が発生しました。あなたが説明したものと非常によく似た設定で、私は同じエラーメッセージを受け取りました:

Google APIクライアントに接続できませんでした:ConnectionResult {statusCode = API_UNAVAILABLE、resolution = null}

問題は、Googleサインインサービスとの通信の構成になりました。 Googleのドキュメントを見つけた後、この問題を解決しました: GoogleサインインのAndroidアプリへの統合を開始 。キーストアのSHA1ハッシュを取得する手順については、「構成ファイルの取得」セクションを使用し、次に「構成ファイルの取得」ボタンを使用してGoogle Developer Consoleプロセスを開始し、「/」に配置されたJSONファイルを作成しました。 Androidアプリケーションのapp "ディレクトリ。

0
chicagoCrazy

Google ConsoleデベロッパーでPlaceAPIを有効にしましたか? ([APIと認証]メニュー内)。 Android APIキーを選択しましたか?

それは私にとってはうまくいくので、そうでなければ何ができるのかわかりません。

0
IvannMG

私のアプリはGoogleドライブAPIを使用していますが、同じ問題が発生しました "Google APIクライアントに接続できませんでした:ConnectionResult {statusCode = API_UNAVAILABLE、resolution = null}一部のデバイスで。通過するアドバイス GoogleサインインをあなたのAndroidアプリ に統合し始める)は役に立ちましたが、私は本当に混乱しました:
google-services.jsonは結果のapkにどのように影響しますか?リリース証明書などについても同じことをする必要がありますか?...
最終的に私は舞台裏にあるものを見つけました 別の答え はgoogle-services.jsonが単なるオプションであることを明らかにしました。

したがって、これらの手順は私を助けました:

  1. 開く Google Developer Console そしてプロジェクトを開く/作成する
  2. サイドメニューで「APIマネージャー」を開きます
  3. 左側の列で[資格情報]をタップします
  4. 「認証情報を追加」->「OAuth2.0クライアントID」->「Android」アプリの署名に使用できる証明書ごとに入力します。つまり、リリース証明書、Jenkinsデバッグ証明書、ローカルデバッグ証明書です。

また、対応するAPIがプロジェクトで有効になっていることを確認することを忘れないでください(ステップ#1を参照)

Googleサインインの統合の開始Android App を介してgoogle-services.jsonを生成している間、同じ「OAuth2.0クライアントID」が暗黙的に作成されます。

0
demaksee