Android學習筆記——OAuth完全手冊
阿新 • • 發佈:2019-02-04
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 }