我正在研究一个与医学相关的应用程序,在这里我必须用我的应用程序实现fitbit设备。
我正在使用fitbit的开发工具,但是我无法集成它,如果我是在没有fitbit库的情况下手动完成的话,我就无法在认证后返回我的应用程序。
我的代码如下-
private void login() {
try {
HttpResponse response = null;
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 20000);
HttpConnectionParams.setSoTimeout(httpParameters, 20000);
HttpClient client = new DefaultHttpClient(httpParameters);
HttpGet request = new HttpGet(
"http://api.fitbit.com/oauth/request_token?oauth_consumer_key=7af733f021f649bcac32f6f7a4fe2e9a&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1358921319&oauth_nonce=456236281&oauth_callback=http://www.androidhub4you.com/&oauth_version=1.0&oauth_token=5cefb18d2a80073520211f03f8d75321&oauth_signature=QdVUzMvT6tveGyoPu%2BEevzvo07s%3D");
response = client.execute(request);
BufferedReader rd = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
String webServiceInfo = "";
while ((webServiceInfo = rd.readLine()) != null) {
Log.e("****Step 1***", "Webservice: " + webServiceInfo);
authToken = webServiceInfo.substring(12, 44);
Log.e("Auth token:", "Webservice: " + authToken);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
在获得authToken之后,我打开了一个网页,但是我无法返回
又是我的申请。
private void openURL() {
webView.loadUrl("https://www.fitbit.com/oauth/authorize?oauth_token="
+ authToken + "&display=touch");
}
最佳答案
最后我得到了自己问题的答案-
try {
HttpResponse response = null;
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 20000);
HttpConnectionParams.setSoTimeout(httpParameters, 20000);
HttpClient client = new DefaultHttpClient(httpParameters);
HttpGet request = new HttpGet(
"http://api.fitbit.com/oauth/request_token?oauth_consumer_key=7af733f021f649bcac32f6f7a4fe2e9a&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1358921319&oauth_nonce=456236281&oauth_callback=http://www.androidhub4you.com/&oauth_version=1.0&oauth_token=5cefb18d2a80073520211f03f8d75321&oauth_signature=QdVUzMvT6tveGyoPu%2BEevzvo07s%3D");
response = client.execute(request);
BufferedReader rd = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
String webServiceInfo = "";
while ((webServiceInfo = rd.readLine()) != null) {
Log.e("****Step 1***", "Webservice: " + webServiceInfo);
authToken = webServiceInfo.substring(12, 44);
Log.e("Auth token:", "Webservice: " + authToken);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
在那之后-
String fitUrl = "https://www.fitbit.com/oauth/authorize?oauth_token="
+ authToken +"&display=touch";
webView.loadUrl(fitUrl);
Intent intent = new Intent(FitBitActivity.this, DashboardActivity.class);
pActivity.finishChildActivity(intent);
编辑:
你可以从这里下载邮政编码-
http://www.androidhub4you.com/2013/11/fitbit-integration-in-android-login.html
https://github.com/manishsri01/FitbitIntegration