Google Play 서비스를 사용하여 Android 인증 기관에서 Google 인증을 사용하는 데 문제가 있습니다. 일Android에서 사용자 정보 가져 오기 서버 쪽 인증 설정이 포함 된
URL url = new URL("https://www.googleapis.com/oauth2/v1/userinfo?access_token=" + token);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
: 첫째, 나는 그때 사용자에 대한 더 많은 정보를 얻을 수있는 토큰을 사용
GoogleAuthUtil.getToken(getActivity(), mEmail,"oauth2:https://www.googleapis.com/auth/userinfo.profile");
노호 범위를 사용하여 토큰을 얻기 위해 라이브러리와 함께 제공되는 샘플을 사용했다. 그런 다음 Google 개발자 블로그에 Verifying Back-End Calls from Android Apps 게시물을 사용하여 내 웹 서버에 대한 앱 사용자를 인증했습니다. 그래서
audience:server:client_id:<webapp_clientId_for_localhost>.apps.googleusercontent.com
으로 getToken의 범위를 교체하고 서버 측의 청중 된 ClientID (안드로이드 클라이언트 ID)를 확인하기 위해 문서의 하나와 유사한 검사기를 사용했다.
{ "오류"나는 (성과 이름) 사용자에 대한 더 많은 정보를 얻을하려고하면이 또한 내가 얻을 사용자 정보 API를 사용하여 안드로이드 응용 프로그램 또는 웹 응용 프로그램에서 중, 일을하지만, : { "오류": [{ "도메인": "글로벌", "이유": "authError" "메시지": "잘못된 자격 증명", "locationType에": "헤더", "위치" "인증"}, "코드": 401, "메시지": "잘못된 자격 증명"}}
내가 사용하는 코드는 다음과 같습니다
URL url = new URL("https://www.googleapis.com/oauth2/v1/userinfo");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("Authorization", "OAuth " + token);
con.setRequestProperty("ContentType", "application/json; charset=UTF-8");
사용자 정보가 작동하지 않는 이유는 무엇입니까? 범위에 추가해야 할 다른 것이 있습니까?
네, 그게 제가 한 일입니다. –
안녕하세요, @breno, 저에게 잘 사용되었지만 며칠 전부터 작동이 멈췄으며 이제는 com.google.android.gms.auth.GoogleAuthException : Unknown 오류가 발생합니다. 왜 그런가? 내 범위에 문제가 있습니까? https://gist.github.com/lawloretienne/7351151 – toobsco42
죄송합니다.이 질문에 대해서는 눈치 채지 못했습니다. 문제가 계속 발생합니까? – breno