【问题标题】:Fitness HISTORY_API - how to set account name for client connectionFitness HISTORY_API - 如何为客户端连接设置帐户名称
【发布时间】:2015-07-10 12:10:55
【问题描述】:

我正在尝试通过服务从 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() 方法的代码中的帐户名称?为了使其正常工作,我在这里缺少什么?

【问题讨论】:

  • 您的设备上是否有多个帐户,或者只有一个您尝试使用硬编码的帐户?
  • 我的设备上有一个帐户,这是我尝试使用硬编码的一个帐户,它与 setAccountName 一起使用。我想让任何将在智能手表上安装我的应用程序的用户都使用此功能。

标签: android google-api wear-os google-fit


【解决方案1】:

您可以根据官方 GFit documentation 使用简单的 GET 请求获取帐户上的名称。

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

dataSourceIduserId 是获取帐户名称的两个必需参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多