마켓 정보 가져오는 마켓 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로 해도 정보가 출력되었습니다.

 

근데 이게 테스트를 바로바로 해서 잘 모르겠는데...

 

토큰에 유효기간이 있나요? 나중에 가면 못 쓰게 되는 건가요.

 

쓸 수 있으면 프록시(??) 계정을 하나 만들어서 그 계정으로 생성된 토큰을 아무데나 넣을 수 있다는 것인데...

 

가능한가요.

 

토큰이 만약 한달 유효기간이라면 테스트도 안 된달까 못 하겠군요..