2013-02-22 3 views
15

을 수행하는 동안 GoogleAuthException: Unknown error이 표시됩니다. Google Api 및 Android Oauth INVALID_AUDIENCE 오류

는 그냥 예외 전에 나는 구글 API를 프로젝트에, 내 릴리스 키, 패키지 이름에서 SHA1을 설정 한
GLSUser: GLS error: INVALID_AUDIENCE <email> audience:server:client_id:xxx.apps.googleusercontent.com 

를 참조하십시오. (어떤 방식 으로든 GCM에 성공적으로 사용됩니다.)

답변

16

작동해야합니다. 여기에 내 애플 리케이션에서 작동 범위 - 초기화 코드입니다.

private static final String SCOPE = "audience:server:client_id:" + SERVER_CLIENT_ID; 

그래서 클라이언트 ID에 문제가있는 것 같아서 냄새가납니다. 그래서

  • 에 다른 하나는 서버 측에 대해 당신이 두 개의 클라이언트 ID
  • 하나와 프로젝트를해야

    1. 샤 & 패키지 &와 함께, 안드로이드 응용 프로그램의 하나입니다 기억 당신을 '... 그것은 후에 간다 # 3에서 클라이언트 ID의

    에 떨어져 토큰을 보내겠다 : CLIENT_ID :

  • +0

    고맙습니다. – Alok

    +3

    @ Alok .... 나는 같은 문제를 겪었다. 나는 끝점 api의 관객과 안드로이드 관객 범위에서 웹 client_id를 사용하고 있습니다. 여전히 동일한 인증 오류가 표시됩니다.어떻게 client_id 웹을 생성 했습니까? Google API 콘솔에 가서 리디렉션 uri 및 자바 스크립트 원본이 비어있는 웹 애플리케이션 용 클라이언트 ID를 생성했습니다. 그 맞습니까? – plspl

    +0

    또 다른 일반적인 원인은 디버그 인증서 해시를 등록하고 릴리스를 테스트하는 것입니다 (또는 그 반대). –

    0

    내 팀 A의 하나에 일어났다 그래도 내 장치에서 정상적으로 작동했습니다. 이클립스 설치시 다른 debug.keystore이 원인으로 밝혀졌습니다.

    우리가 ~/.android/ 에 회사의 debug.keystore 파일을 복사 한 그것을 해결하기 위해

    0

    당신에있는 당신의하게 debug.keystore를 삭제하여이 문제를 해결 (이 맥에서 디렉토리, 그것은 리눅스와 윈도우에서 다르다). android 폴더에 저장 한 다음 새 프로젝트를 다시 실행하여 새로운 debug.keystore 파일을 생성하십시오. 그런 다음 Google API를위한 새로운 SHA-1 서명 인증서를 생성하십시오.

    0

    또한 Google API 콘솔에 oAuth 인증 화면을 설정해야합니다. 나는이 오류 내 문제를 문서화의 관심에서

    0

    을 가지고 왜

    ,

    나는 같은 INVALID_AUDIENCE 오류가 구글 로그인에 AWS 모바일 허브를 통해 생성 된 샘플 응용 프로그램에서 돌아와 있었다. 확인해야 할 몇 가지 사항은

    Tim Bray 노트와 마찬가지로 클라이언트 ID를 유효한 웹 클라이언트 ID (Android가 아님)로 설정합니다. 또한 적절한 SHA-1 지문 (Android Studio에서 실행을 클릭하면 디버그 빌드에 서명하는 데 사용하는 debug.keystore에서 찾을 수 있음) 및 패키지 이름이있는 Android 클라이언트 ID가 있습니다.

    참고 : AndroidManifest.xml에 나열된 패키지 이름이 항상 실제 패키지 이름은 아닙니다. 최종 패키지 이름을 찾으려면 build.gradle 파일로 이동하여 applicationId 필드를 확인하십시오. Android 클라이언트 ID를 구성 할 때 개발자 콘솔에 올바른 패키지 이름을 입력해야합니다.