안드로이드 개발 질문/답변
(글 수 45,052)
마켓 정보 가져오는 마켓 api에서
private String updateToken(boolean invalidateToken, Activity activity, Context context) { String authToken = "null"; try { AccountManager am = AccountManager.get(context); Account[] accounts = am.getAccountsByType("com.google"); AccountManagerFuture<Bundle> accountManagerFuture; if(activity == null){//this is used when calling from an interval thread accountManagerFuture = am.getAuthToken(accounts[0], "android", false, null, null); } else { accountManagerFuture = am.getAuthToken(accounts[0], "android", null, activity, null, null); } Bundle authTokenBundle = accountManagerFuture.getResult(); authToken = authTokenBundle.getString(AccountManager.KEY_AUTHTOKEN).toString(); if(invalidateToken) { am.invalidateAuthToken("com.google", authToken); authToken = updateToken(false, activity, context); } } catch (Exception e) { e.printStackTrace(); Log.i("err", e.toString()+" "+e.getMessage()+" "); } return authToken; }
이렇게 해서 token 을 얻어와서 (위에 코드는 android market api에 있는 코드입니다. 메소드에 파라미터만 추가된 형태입니다. 밑에 로그랑.)
MarketSession에 토큰으로 넣어서.. 정보를 불러오면 불러와집니다.
그래서 여기 토큰이 생성되는 데요.
계정A로 토큰A를 생성했습니다.
이 토큰A만 떼다가 다른 데 쓰면 작동했습니다.
근데 계정A로 다시 돌려보니 토큰B가 생기네요.
토큰B가 생기기는 했으나
토큰A로 해도 정보가 출력되었습니다.
근데 이게 테스트를 바로바로 해서 잘 모르겠는데...
토큰에 유효기간이 있나요? 나중에 가면 못 쓰게 되는 건가요.
쓸 수 있으면 프록시(??) 계정을 하나 만들어서 그 계정으로 생성된 토큰을 아무데나 넣을 수 있다는 것인데...
가능한가요.
토큰이 만약 한달 유효기간이라면 테스트도 안 된달까 못 하겠군요..