Fitbit for Java は実際にまだ https をサポートしていますか?
以前は、コードは機能していました。これで、HTTPS の使用を要求するエラーがコードから返されます。
{"errors":[{"errorType":"request","fieldName":"n/a","message":"This request should use https protocol."}],"success":false}
at com.fitbit.api.client.FitbitApiClientAgent.getUserInfo(FitbitApiClientAgent.java:2063)
at com.fitbit.api.client.FitbitApiClientAgent.getUserInfo(FitbitApiClientAgent.java:2039)
at Auth.populateDataGetters(Auth.java:112)
at Auth.<init>(Auth.java:106)
at Driver.main(Driver.java:18)
Caused by: com.fitbit.api.FitbitAPIException: 400: The request was invalid. An accompanying error message will explain why.
私の知る限り、OAuth は問題なく動作しているようです。
https ではない私のコードにある唯一の URL は次のとおりです。
String API_BASE_URL = "api.fitbit.com";
この文字列を「https://api.fitbit.com」に変更すると、エラーが発生します
Caused by: com.fitbit.api.FitbitAPIException: https
at com.fitbit.api.client.http.HttpClient.httpRequest(HttpClient.java:473)
at com.fitbit.api.client.http.HttpClient.get(HttpClient.java:398)
at com.fitbit.api.client.FitbitApiClientAgent.httpGet(FitbitApiClientAgent.java:2784)
at com.fitbit.api.client.FitbitApiClientAgent.httpGet(FitbitApiClientAgent.java:2734)
at com.fitbit.api.client.FitbitApiClientAgent.getUserInfo(FitbitApiClientAgent.java:2059)
... 4 more
Caused by: java.net.UnknownHostException: https
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
at sun.net.www.http.HttpClient.New(HttpClient.java:308)
at sun.net.www.http.HttpClient.New(HttpClient.java:326)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:996)
安定した Java Fitbit ライブラリは 2 年間更新されておらず、Java サンプル コードはスタンドアロン アプリケーションにはあまり役に立ちません。