Android 从后端服务器使用google fit api

Android 从后端服务器使用google fit api,android,google-api,backend,google-oauth,google-fit,Android,Google Api,Backend,Google Oauth,Google Fit,我正在编写一个android应用程序,它需要从后端服务器读取用户的健身数据(步数、卡路里等)。此服务器将读取数据并在必要时将通知推送到android应用程序 我成功地完成了身份验证部分,应用程序现在将从oauth流接收到的代码发送到后端服务器(以下示例),服务器成功地交换代码访问和刷新令牌 问题是我在google示例中没有找到任何关于如何从后端服务器访问健身数据的资源。我找到了图书馆 com.google.api 谷歌api服务健康 v1-rev16-1.21.0 但是没有找到任何关于如何在

我正在编写一个android应用程序,它需要从后端服务器读取用户的健身数据(步数、卡路里等)。此服务器将读取数据并在必要时将通知推送到android应用程序

我成功地完成了身份验证部分,应用程序现在将从oauth流接收到的代码发送到后端服务器(以下示例),服务器成功地交换代码访问和刷新令牌

问题是我在google示例中没有找到任何关于如何从后端服务器访问健身数据的资源。我找到了图书馆


com.google.api
谷歌api服务健康
v1-rev16-1.21.0

但是没有找到任何关于如何在后端服务器中使用它的指南。对于如何在没有用户交互的情况下从后端服务器访问健身数据,是否有任何指导原则


提前感谢,我搜索了stackoverflow和internet,但没有成功

如果有人需要,可以使用javadoc。下面是一个从后端服务器批量请求用户身高和体重的简单示例:

GoogleCredential credential = new GoogleCredential().setAccessToken(activeUser.getAccessToken());

Fitness fitness = new Fitness.Builder(new NetHttpTransport(), 
                                      JacksonFactory.getDefaultInstance(), 
                                      credential)
        .setApplicationName("MyApp")
        .build();

BatchRequest batchRequest = new BatchRequest(new NetHttpTransport(), credential);
fitness.users()
        .dataSources()
        .datasets()
        .get("me", "derived:com.google.weight:com.google.android.gms:merge_weight",
                        String.format("0-%d", System.nanoTime()))
        .queue(batchRequest, new WeightRequestCallback(activeUser));

fitness.users()
        .dataSources()
        .datasets()
        .get("me", "derived:com.google.height:com.google.android.gms:merge_height",
                String.format("0-%d", System.nanoTime()))
        .queue(batchRequest, new HeightRequestCallback(activeUser));


batchRequest.execute();

HeightRequestCallback
WeightRequestCallback
extend
JsonBatchCallback

如果有人需要,可以使用javadoc。下面是一个从后端服务器批量请求用户身高和体重的简单示例:

GoogleCredential credential = new GoogleCredential().setAccessToken(activeUser.getAccessToken());

Fitness fitness = new Fitness.Builder(new NetHttpTransport(), 
                                      JacksonFactory.getDefaultInstance(), 
                                      credential)
        .setApplicationName("MyApp")
        .build();

BatchRequest batchRequest = new BatchRequest(new NetHttpTransport(), credential);
fitness.users()
        .dataSources()
        .datasets()
        .get("me", "derived:com.google.weight:com.google.android.gms:merge_weight",
                        String.format("0-%d", System.nanoTime()))
        .queue(batchRequest, new WeightRequestCallback(activeUser));

fitness.users()
        .dataSources()
        .datasets()
        .get("me", "derived:com.google.height:com.google.android.gms:merge_height",
                String.format("0-%d", System.nanoTime()))
        .queue(batchRequest, new HeightRequestCallback(activeUser));


batchRequest.execute();

HeightRequestCallback
WeightRequestCallback
extend
JsonBatchCallback

这是Android API的东西。要从后端服务器进行访问,您需要使用Rest API。您应该知道,Google服务器和Android设备不定期同步,因此设备上的数据可能在数小时甚至数天内不可见。感谢您的评论。据我所知,我提到的库是RESTAPI的包装器。问题是,还有一些其他库的示例,例如,驱动器、配置文件等,但我找不到有关此特定库用法的指南。有什么帮助吗?没有。我对RESTAPI的使用是直接的,我必须处理大量不同的后端,所以已经有了所有乱七八糟的东西。我实际上是在安卓上工作,但要使用rest API而不是安卓API,因为它更适合我的流程,我只需在用户完成活动后上传数据。谢谢。还有一件事,我可能对数据有一个近乎实时的要求。在这种情况下,您会建议使用android api并通过该api同步数据吗?是的,实时如果用户要查看该设备,则只有该设备上的查询与他们在FIT应用程序中看到的内容匹配。wifi每小时左右同步一次,而移动数据则更慢。在G+Fit开发者小组中经常有关于它的抱怨,这是一个很好的信息来源。这就是Android API的东西。要从后端服务器进行访问,您需要使用Rest API。您应该知道,Google服务器和Android设备不定期同步,因此设备上的数据可能在数小时甚至数天内不可见。感谢您的评论。据我所知,我提到的库是RESTAPI的包装器。问题是,还有一些其他库的示例,例如,驱动器、配置文件等,但我找不到有关此特定库用法的指南。有什么帮助吗?没有。我对RESTAPI的使用是直接的,我必须处理大量不同的后端,所以已经有了所有乱七八糟的东西。我实际上是在安卓上工作,但要使用rest API而不是安卓API,因为它更适合我的流程,我只需在用户完成活动后上传数据。谢谢。还有一件事,我可能对数据有一个近乎实时的要求。在这种情况下,您会建议使用android api并通过该api同步数据吗?是的,实时如果用户要查看该设备,则只有该设备上的查询与他们在FIT应用程序中看到的内容匹配。wifi每小时左右同步一次,而移动数据则更慢。在G+Fit开发者群体中经常有关于它的抱怨,这是一个很好的信息来源。根据上面的讨论,我切换到android应用程序进行开发。如果有人确认这是可行的,或者如果我碰巧运行到了这一步,我会接受答案。根据上面的讨论,我切换到android应用程序进行开发。如果有人确认这是有效的,或者如果我碰巧遇到了这个问题,我会接受答案