1. 程式人生 > >Android學習筆記——OAuth完全手冊

Android學習筆記——OAuth完全手冊

1 public void getRenrenSessionKey(Context context, String accessToken) { 2 if (accessToken == null || accessToken.length() < 1) { 3 return; 4 } 5 Bundle params = new Bundle(); 6 params.putString("oauth_token", accessToken); 7 try { 8 String sk = Util.openUrl(
9 "http://graph.renren.com/renren_api/session_key", "POST", 10 params); 11 JSONObject obj = new JSONObject(sk); 12 String error = obj.optString("error", null); 13 if (error != null) { 14 throw new SNSAuthError(obj.toString(), null
, null); 15 } 16 String sessionKey = obj.getJSONObject("renren_token").getString( 17 "session_key"); 18 String sessionSecret = obj.getJSONObject("renren_token").getString( 19 "session_secret"); 20 21 long uid = obj.getJSONObject("user").getLong("id");
22 // 伺服器返回的過期時間單位為秒,故乘以1000 23 long expires = obj.getJSONObject("renren_token").getLong( 24 "expires_in") * 1000; 25 long current = System.currentTimeMillis(); 26 long expireTime = current + expires; 27 28 setSeeionKey(sessionKey); 29 setSeeionSecret(sessionSecret); 30 setSeeionExpires(expireTime); 31 32 Log.i(Util.LOG_TAG, "---login success sessionKey:" + sessionKey 33 + " expires:" + expires + " sessionSecret:" + sessionSecret 34 + " uid:" + uid); 35 } catch (JSONException e) { 36 throw new RuntimeException(e.getMessage(), e); 37 } 38 }