나는 실험적 코드를 작성하여 PlusClient 연결 흐름이 어떻게 작동하는지 테스트했다. 나는 문서를 읽고 계정 선택기를 팝업으로 표시하고 권한 대화 상자를 표시하여 액세스 토큰을 얻을 수있었습니다.PlusClient를 사용하는 동안 인스턴트 온 콜백 콜백을 피하는 방법은 무엇입니까?
어제되었습니다.
오늘, 전적으로 PlusClient를 제대로 연결할 수 없습니다. PlusClient.connect()에서 연결 콜백은 즉시 null 번들과 함께 호출됩니다. PlusClient.getAccountName()을 호출하면 null이 반환됩니다. PlusClient.revokeAccessAndDisconnect()를 호출 해 보았습니다. onAccessRevoked 콜백은 INTERNAL_ERROR가있는 connectionResult와 함께 errorCode로 호출됩니다.
Google Play 서비스에 유효한 토큰이 있지만 누가 로그인했는지 잊어 버렸다고 생각하는 것과 같습니다. Google Play 서비스를 재설정하여 내 애플리케이션의 인증 토큰을 더 이상 기억하지 못하게 할 수 있습니까? Google Play 서비스 및 Google 서비스 프레임 워크를 삭제하려고 시도했지만이 문제가 해결되지 않았습니다.
편집 :
이것은 사실 내 어리 석음 때문에 발생합니다. 나는 스코프 속성을 자신의 변수로 리팩터링하기 시작했지만 그 작업을 완료하지는 못했습니다. 나는 코드에서 다음과 같은 일을했다 :
final String scopes = Scopes.PLUS_LOGIN + " "
+ Scopes.PLUS_PROFILE + " "
+ "https://www.googleapis.com/auth/drive.appdata";
mPlusClient = new PlusClient.Builder(this, this, this)
.setVisibleActivities("http://schemas.google.com/AddActivity",
"http://schemas.google.com/BuyActivity")
.setScopes()
.build();
문제는 setScopes()에 대한 과부하 있다는 것입니다,하지만 난 대신 setScopes (범위)를 말을 의미했다. 이로 인해 위에서 설명한 문제가 발생했습니다.