2

Android 응용 프로그램 내에서 oauth 토큰을 받아야 내 appengine 응용 프로그램에 연결할 수 있고 사용자의 전자 메일을 보낼 수 있습니다. 계정. 내가 겪어 본 문제는 어떤 이유로 인증 토큰 범위에 대한 유용한 문서가 실제로 존재하지 않는다는 것입니다.android의 계정 관리자를 사용하여 여러 범위의 인증 토큰을 얻으려면 어떻게해야합니까?

필자가 발견 한 바로는 공백 구분 기호로 인증 토큰을 연결할 수 있지만 운이 없다. accountManager.getAuthToken(account, "oauth2:https://mail.google.com/", null, activity, new AuthTokenCallback(), null); 이메일 토큰을받는 데는 문제가 없습니다.

마찬가지로 accountManager.getAuthToken(account, "ah", null, activity, new AuthTokenCallback(), null); 은 앱 엔진 토큰에 유용합니다.

그러나 accountManager.getAuthToken(account, "oauth2:https://mail.google.com/ ah", null, activity, new AuthTokenCallback(), null); 내가 Google 서비스 행동이 두 좋은 작은 아니라 함께 같은 일을 얻을 수있는 방법을 오류

Couldn't sign in, There was a problem communicating with Google servers Try again later

에 저를 얻는다?

답변

3

OAuth 2.0 범위 ("https://mail.google.com/")와 ClientLogin 범위 ("ah")를 혼용하려고하는데이 문제가 지원되지 않는다고 생각합니다.

많은 권한 수준을 가진 토큰을 원하면 말할 때 공백 구분 기호로 연결하십시오. OAuth 2 스코프의 경우이 값은 oauth2:{space separated list of scopes}과 같습니다.

범위를 제공하면 oauth2:https://mail.google.com/ ah 두 범위 모두 OAuth 2 범위라고 가정합니다. 그러나 "아"는 유효한 OAuth 2 범위가 아니기 때문에 Google 서버는이를 허용하지 않고 대신에 오류를 표시합니다.

나는 App Engine에 대한 OAuth 2 범위와 Stackoverflow에 대한 두 가지 질문 (20112012)이 OAuth 2를 아직 지원하지 않는다고 알고 있습니다.

+0

minting OAuth 2.0 토큰을 지원하지 않지만 'oauth' API를 사용하여 확인할 수 있습니다. oauth.get_current_user (THE_OAUTH2_SCOPE_USED) https://developers.google.com/appengine/docs/python/oauth/overview – bossylobster

+0

아, 설명해 주셔서 고마워요. 불행히도이 두 가지 토큰을 별도로 저장하고 관리해야하는 것보다 다른 해결 방법을 찾지 못하는 것 같습니다. 바라건대 이것은 곧 수정 될 것입니다. – connoisseur