2013-06-27 2 views
1

나는 실험적 코드를 작성하여 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 (범위)를 말을 의미했다. 이로 인해 위에서 설명한 문제가 발생했습니다.

답변

0

수면 중에 코드를 만들어야하는 이유에 대한 편집을 참조하십시오. PlusClient.Builder에서 setScopes 메서드 호출에 매개 변수를 추가하지 않았습니다. API가 이것을 허용하는 이유를 모릅니다. 내 오타를 추적하는 데 사용할 수있는 예외가 발생 했어야합니다.

관련 문제