Android アプリケーションで oAuth を使用してログインしています。ログインに成功した後、ユーザー名またはメールアドレスを抽出したいですか? それを行う方法はありますか?はいの場合 - どのように?
私はこれを見つけました:OAuthアクセストークンを使用してGmailユーザー名を抽出しています が、実際にはその使用方法がわかりません
Android アプリケーションで oAuth を使用してログインしています。ログインに成功した後、ユーザー名またはメールアドレスを抽出したいですか? それを行う方法はありますか?はいの場合 - どのように?
私はこれを見つけました:OAuthアクセストークンを使用してGmailユーザー名を抽出しています が、実際にはその使用方法がわかりません
まあ、私はインターネットを最後まで掘り下げて、これを思いつきました:
private String usernameReader() {
String jsonOutput = "";
try {
jsonOutput = makeSecuredReq(Constants.API_REQUEST, getConsumer(this.prefs));
JSONObject jsonResponse = new JSONObject(jsonOutput);
JSONObject m = (JSONObject) jsonResponse.get("feed");
JSONObject email = (JSONObject) m.get("id");
jsonOutput=email.getString("$t");
} catch (Exception e) {
Log.e("errroro", "Error executing request", e);
// console.setText("Error retrieving contacts : " + jsonOutput);
}
return jsonOutput;
}
private String makeSecuredReq(String url, OAuthConsumer consumer) throws Exception {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
Log.i("Requesting", "Requesting URL : " + url);
consumer.sign(request);
HttpResponse response = httpclient.execute(request);
Log.i("statusLine", "Statusline : " + response.getStatusLine());
InputStream data = response.getEntity().getContent();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(data));
String responeLine;
StringBuilder responseBuilder = new StringBuilder();
while ((responeLine = bufferedReader.readLine()) != null) {
responseBuilder.append(responeLine);
}
// Log.i(C.TAG,"Response : " + responseBuilder.toString());
return responseBuilder.toString();
}
private OAuthConsumer getConsumer(SharedPreferences prefs) {
String token = prefs.getString(OAuth.OAUTH_TOKEN, "");
String secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, "");
OAuthConsumer consumer = new CommonsHttpOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
consumer.setTokenWithSecret(token, secret);
return consumer;
}
これは、このhttp://androidwarzone.blogspot.com/2011/07/android-oauth-full-example-with-source.htmlのわずかに変更されたバージョンです。
それにもかかわらず、あなたの時間と努力に対してウィリアム・カーターに感謝します.