new passes on FITBIT
This commit is contained in:
@@ -1,14 +1,15 @@
|
||||
import manage.AuthFITBIT;
|
||||
import manage.FITBITData.HeartRate;
|
||||
import manage.FITBITData.Sleep;
|
||||
import manage.FITBITData.*;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) throws Exception {
|
||||
AuthFITBIT fitbit = new AuthFITBIT();
|
||||
|
||||
HeartRate h = fitbit.run("https://api.fitbit.com/1/user/-/activities/heart/date/today/1d.json", HeartRate.class); // 1sec/time/00:00/00:01.json
|
||||
Sleep s = fitbit.run("https://api.fitbit.com/1.2/user/-/sleep/date/today.json", Sleep.class);
|
||||
// HeartRate h = fitbit.run("https://api.fitbit.com/1/user/-/activities/heart/date/today/1d.json", HeartRate.class, false); // 1sec/time/00:00/00:01.json
|
||||
// Sleep s = fitbit.run("https://api.fitbit.com/1.2/user/-/sleep/date/today.json", Sleep.class, false);
|
||||
|
||||
System.out.println(h.dateTime + " " + h.average);
|
||||
Device dev = fitbit.run("https://api.fitbit.com/1/user/-/devices.json", Device.class, true);
|
||||
//System.out.println(dev);
|
||||
//System.out.println(h.dateTime + " " + h.average);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,16 @@ import com.google.api.client.json.JsonObjectParser;
|
||||
import com.google.api.client.json.jackson2.JacksonFactory;
|
||||
import com.google.api.client.util.store.DataStoreFactory;
|
||||
import com.google.api.client.util.store.FileDataStoreFactory;
|
||||
import com.sun.xml.internal.xsom.impl.scd.Iterators;
|
||||
import manage.FITBITData.Device;
|
||||
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
public class AuthFITBIT {
|
||||
@@ -50,7 +57,7 @@ public class AuthFITBIT {
|
||||
private static FileDataStoreFactory DATA_STORE_FACTORY;
|
||||
|
||||
/** OAuth 2 scope. */
|
||||
private static final String SCOPE[] = new String[]{"activity","heartrate","location","sleep"};
|
||||
private static final String SCOPE[] = new String[]{"activity","heartrate","location","sleep","settings"};
|
||||
/** Global instance of the HTTP transport. */
|
||||
private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
|
||||
|
||||
@@ -80,20 +87,30 @@ public class AuthFITBIT {
|
||||
return new AuthorizationCodeInstalledApp(flow, receiver).authorize( "user" );
|
||||
}
|
||||
|
||||
public <O> O run(String url, Class<O> classe) throws IOException {
|
||||
public <O> O run(String url, Class<O> classe, boolean isDev) throws IOException {
|
||||
FITBITUrl fitbitUrl = new FITBITUrl(url);
|
||||
// url.setFields("activity,heartrate,location,sleep");
|
||||
fitbitUrl.setFields("");
|
||||
GenericJson json;
|
||||
|
||||
HttpRequest request = requestFactory.buildGetRequest(fitbitUrl);
|
||||
HttpResponse response = request.execute();
|
||||
|
||||
GenericJson json = response.parseAs(GenericJson.class);
|
||||
if (isDev){
|
||||
Device dev = new Device();
|
||||
dev.getLastSyncTime(response.parseAs(Iterators.Array<Map<String, String>>.class));
|
||||
response.disconnect();
|
||||
|
||||
return mapper.readValue(map.toString(), classe);
|
||||
}
|
||||
else {
|
||||
json = response.parseAs(GenericJson.class);
|
||||
}
|
||||
response.disconnect();
|
||||
|
||||
System.out.println("--------------------");
|
||||
System.out.println(classe.getSimpleName());
|
||||
System.out.println(json.toPrettyString());
|
||||
// System.out.println("--------------------");
|
||||
//System.out.println(classe.getSimpleName());
|
||||
//System.out.println(json.toPrettyString());
|
||||
|
||||
return mapper.readValue(json.toString(), classe);
|
||||
|
||||
|
||||
24
src/main/java/manage/FITBITData/Device.java
Normal file
24
src/main/java/manage/FITBITData/Device.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package manage.FITBITData;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class Device {
|
||||
|
||||
public String lastSyncTime;
|
||||
|
||||
// @JsonProperty ("lastSyncTime")
|
||||
public String getLastSyncTime(Map<String,String>[] sync){
|
||||
lastSyncTime = null;
|
||||
for(Map<String, String > d: sync) {
|
||||
String temp = d.get("lastSyncTime");
|
||||
if ((lastSyncTime == null) || (lastSyncTime.compareTo(temp) < 0))
|
||||
lastSyncTime = temp;
|
||||
|
||||
}
|
||||
return lastSyncTime;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user