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的网址是:
String API_BASE_URL = "api.fitbit.com";
当我将此字符串更改为&#34; https://api.fitbit.com&#34;时,我收到错误
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示例代码对独立应用程序没什么帮助。
答案 0 :(得分:0)
好。我进入了fitbit开发论坛,似乎主网站(1.0.25)上发布的API已经过折旧,无法使用https。
基本上你需要重新编译source。
有人也重新编译了源代码并将其发布在forums中。显然要小心。
同时将基本网址保留为&#34; api.fitbit.com&#34;。
答案 1 :(得分:0)
我在这里分配了项目:https://github.com/deadcyclo/fitbit4j
并在此处发布了一个公共maven存储库:https://nexus.vanntett.net/content/repositories/fitbit/
随意使用它。
目前唯一可用的版本是1.0.26(因为它是唯一的工作版本)。
如果fitbit决定更新项目,我会保持fork和repository同步。
修改:已更改为HTTPS