2

Google Play 서비스를 사용하여 Android에서 Google Cloud Storage 용 Oauth2 토큰을 얻으려고합니다. 다음 코드를 사용하고 있습니다.Android에서 Google Play 서비스를 사용하는 OAuth2 토큰

try { 
     gsToken=GoogleAuthUtil.getToken(this, email, 
      "https://www.googleapis.com/auth/devstorage.read_only"); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } catch (UserRecoverableAuthException userAuthEx) { 
      startActivityForResult(userAuthEx.getIntent(),1);; 
    } catch (GoogleAuthException e) { 

    } 

GoogleAuthException을 발생시킵니다. 이 범위는 현재 Google PLay 서비스에서 지원되지 않습니까 ??

답변

2

GoogleAuthUtil에 OAuth2 토큰을 요청할 때 범위에 문자열 "oauth2 :"를 접두사로 추가해야합니다. 여러 범위가 필요하면 공백 구분 기호를 사용하여 범위를 나열 할 수 있습니다.

그래서, 귀하의 경우 범위 문자열은 "oauth2 : https : //www.googleapis.com/auth/devstorage.read_only"가됩니다.

자세한 내용은 http://android-developers.blogspot.com/2012/09/google-play-services-and-oauth-identity.html을 참조하십시오.

+0

안녕하세요 @ jham,이 기능은 저에게 효과적 이었지만 며칠 전부터 작동이 멈췄으며 이제 com.google.android.gms.auth.GoogleAuthException : Unknown 오류가 발생합니다. 왜 그런가? 내 범위에 문제가 있습니까? https://gist.github.com/lawloretienne/7351151 – toobsco42

+0

안녕하세요, 정확히 동일한 문제가 있습니다. GoogleAuthUtil.getToken은 이전에 정상적으로 작동했으며 최근에는 알 수없는 예외를 제공하기 시작합니다. 해결책을 찾았습니까? –