2016-03-02 2 views
0

Я пишу приложение для Android, которое должно читать данные о пригодности пользователя (шаги, калории и т. Д.) С сервера задней части. этот сервер будет считывать данные и отправлять уведомления в приложение Android в случае необходимости.Использование google fit api с сервера backend

Мне удалось получить часть аутентификации, и приложение теперь отправляет код, полученный от потока oauth на сервер backend (после примера this), и сервер успешно обменивает доступ к коду и обновляет токены.

Проблема заключается в том, что я не нашел никакого ресурса о том, как получить доступ к данным пригодности с серверного сервера в образцах Google. Я нашел в библиотеке

<dependency> <groupId>com.google.apis</groupId> <artifactId>google-api-services-fitness</artifactId> <version>v1-rev16-1.21.0</version> </dependency>

но не нашел руководство о том, как использовать это в внутренний сервер. Есть ли какие-либо рекомендации о том, как получить доступ к данным о фитнесе с серверного сервера без взаимодействия с пользователем?

Спасибо заранее, и я искал StackOverflow и интернет без успеха

+1

То есть вещи Android API. Для доступа с сервера на задней панели вам необходимо использовать Rest API. Существует документация на https://developers.google.com/fit/. Вы должны знать, что серверы Google и Android-устройство синхронизированы нерегулярно, поэтому данные на устройство может не отображаться в течение нескольких часов или даже дней. – Ifor

+0

Спасибо за комментарий. Насколько я понял, библиотека, о которой я упоминал, является оберткой вокруг остальных апи. проблема в том, что есть примеры для некоторых других библиотек, таких как диск, профиль и т. д., но я не смог найти какое-либо руководство об использовании этой конкретной библиотеки. любая помощь? –

+0

№. Мое использование остального API было прямым, мне приходится иметь дело с нагрузкой разных задних концов, так что теперь все беспорядочные вещи. Я на самом деле работаю на Android, но перехожу к остальным API, а не к API Android, так как это значительно улучшает мой поток, когда я просто загружаю данные после того, как пользователь закончил работу. – Ifor

ответ

1

В случае, если кто нуждается в этом, есть Javadoc доступны here. А вот простой пример запроса пакетного для роста и веса пользователя от сервера бэкэнда:

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 продлить JsonBatchCallback<Dataset>

+0

В соответствии с обсуждением выше я переключился на приложение Android для разработки. проголосовали за ответ, и если кто-то подтвердил, что это работает, или если я случайно прибегу к этому, он примет ответ –

Смежные вопросы