안드로이드 개발 질문/답변
(글 수 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로 해도 정보가 출력되었습니다.
근데 이게 테스트를 바로바로 해서 잘 모르겠는데...
토큰에 유효기간이 있나요? 나중에 가면 못 쓰게 되는 건가요.
쓸 수 있으면 프록시(??) 계정을 하나 만들어서 그 계정으로 생성된 토큰을 아무데나 넣을 수 있다는 것인데...
가능한가요.
토큰이 만약 한달 유효기간이라면 테스트도 안 된달까 못 하겠군요..



