1

サービスから Android スマートウォッチの Google Fit データにアクセスしようとしています。この目的のために、接続に com.google.android.gms:play-services-fitness:7.5.0 と GoogleApiClient を使用しています。

mGoogleApiClient = new GoogleApiClient.Builder(getApplicationContext())
            .addApi(Fitness.HISTORY_API)
            .useDefaultAccount()
            //.setAccountName("xxxxxxxxxx@gmail.com")
            .addConnectionCallbacks(
                    new GoogleApiClient.ConnectionCallbacks() {
                    ....etc..
                    ....etc..

setAccountName にハードコードされた自分の電子メール (電話に使用し、スマートウォッチとペアリングしたものと同じアカウント) を使用すると、問題なく動作します。私は成功につながり、関数 Fitness.HistoryApi.readDailyTotal は歩数を正しく返します。

私が useDefaultAccount() を使用している場合、私も成功につながりますが、Fitness.HistoryApi.readDailyTotal は 0 ステップを返します。

setAcountName() メソッドまたは useDefaultAccount() メソッドのコードでアカウント名を正しく取得するにはどうすればよいですか? それを機能させるためにここで何が欠けていますか?

4

1 に答える 1

0

GFit の公式ドキュメントに従って、簡単な GET リクエストを使用してアカウントの名前を取得できます。

GET https://www.googleapis.com/fitness/v1/users/userId/dataSources/dataSourceId

dataSourceIdと は、userIdアカウントの名前を取得するために必要な 2 つのパラメーターです。

于 2015-08-12T00:23:27.840 に答える