1

인증 api와 함께 드라이브 API를 사용하고 있습니다. 먼저 Google 계정에 로그인 한 다음 드라이브에 파일을 업로드해야합니다. 내가 인증 말한다에 로그인 할 수없는 않고 API를 드라이브 만 사용하는 경우 문제는 내가 성공적으로 로그인java.lang.IllegalStateException : Auth.GOOGLE_SIGN_IN_API 사용시 GoogleApiClient.Builder에서 범위를 설정하지 않아야합니다.

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
       .requestEmail() 
       .build(); 
     mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */) 
       .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
       .build(); 

     Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
     startActivityForResult(signInIntent, 4); 

사용하여 첫 번째에 서명했다.입니다. 하지만이 드라이브 API를 사용하려고하면 오류가 발생합니다. 다음은 코드입니다

어떻게 솔루션을 먼저 로그인 한 다음 드라이브에 파일을 추가 할 수 있습니까? 이 문서는 FF를 처리하는 방법에 제공 제공 Authorizing Android Apps -

@Override 
protected void onStart() { 
    super.onStart(); 
    mGoogleApiClient.connect(); 
} 

을 나는 문서를 다음 오전 : 인증이 발생하는

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstance); 

    mGoogleApiClient = new GoogleApiClient.Builder(this) 
      .addApi(Drive.API) 
      .addScope(Drive.SCOPE_FILE) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .build(); 
} 

그런 다음 연결 코드를 설정 :

+0

'onConnectionFailed' 콜백을 포함시킬 수 있습니까? –

답변

1

이 코드를 사용해보십시오 사용자는 이전에 응용 프로그램을 승인하지 않았습니다.

희망이 도움이됩니다.

+0

어떤 이유로이 코드가 더 이상 작동하지 않습니다 ... 이름이 Google 드라이브로 변경된 유일한 것이 아닌 것 같습니다. 나는 문제를 해결하려고 노력하고 있었지만 그의 문제와 동일한 오류가 발생했다. 그것이 지금 어떻게 작동하는지 어떤 생각? – Dpedrinha