🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

2521閲覧

GoogleAPIの連携エラー(Androidアプリ)

Piyosuke

総合スコア57

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/02/21 10:00

編集2021/02/22 15:02

発生している問題・エラーメッセージ

AndroidアプリでGoogleFITのAPIを利用して歩数取得するアプリを作成したいと思っていますが以下状況です。

・ローカル上で作成したapkファイルをインストールすると連携成功して歩数が取得できる状況
・一方で、GooglePlayの内部テストでDLした場合には連携が失敗する
・Google連携部分は公式のGitHubをほぼ丸コピーしている

なお、ローカルで成功しているので、GoogleAPIで、SHA1のフィンガープリントを元にクライアントIDの作成は成功していると思います。

該当のソースコード

Kotlin

1 /** 2 * Checks that the user is signed in, and if so, executes the specified function. If the user is 3 * not signed in, initiates the sign in flow, specifying the post-sign in function to execute. 4 * 5 * @param requestCode The request code corresponding to the action to perform after sign in. 6 */ 7 private fun fitSignIn(requestCode: FitActionRequestCode) { 8 if (oAuthPermissionsApproved()) { 9 performActionForRequestCode(requestCode) 10 } else { 11 requestCode.let { 12 GoogleSignIn.requestPermissions( 13 this, 14 requestCode.ordinal, 15 getGoogleAccount(), fitnessOptions) 16 } 17 } 18 } 19 20 21 /** 22 * Runs the desired method, based on the specified request code. The request code is typically 23 * passed to the Fit sign-in flow, and returned with the success callback. This allows the 24 * caller to specify which method, post-sign-in, should be called. 25 * 26 * @param requestCode The code corresponding to the action to perform. 27 */ 28 private fun performActionForRequestCode(requestCode: FitActionRequestCode) = when (requestCode) { 29 FitActionRequestCode.READ_DATA -> readData() 30 FitActionRequestCode.SUBSCRIBE -> subscribe() 31 } 32 33 private fun oAuthPermissionsApproved() = GoogleSignIn.hasPermissions(getGoogleAccount(), fitnessOptions) 34 35 /** 36 * Gets a Google account for use in creating the Fitness client. This is achieved by either 37 * using the last signed-in account, or if necessary, prompting the user to sign in. 38 * `getAccountForExtension` is recommended over `getLastSignedInAccount` as the latter can 39 * return `null` if there has been no sign in before. 40 */ 41 private fun getGoogleAccount() = GoogleSignIn.getAccountForExtension(this, fitnessOptions)

考えられる原因など

上で貼ったのと同じリンクですが、公式のGitHubでは作成した作成したクライアントIDを特に送信しておりません。それが原因で本番環境だとエラーになるのでは等考えておりますが、、APIについて理解が足りていない部分があり、わかる方がいればアドバイスをいただける助かります。

どうぞよろしくお願いいたします。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決しました、GooglePlay用のアプリ署名鍵がGoogleAPIに登録されていないことが原因でした。

投稿2021/02/27 10:59

Piyosuke

総合スコア57

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問