0

Google 드라이브 API를 통합하는 Android 앱을 구축하려고하며 드라이브를 저장 용량으로 사용합니다. 처음. https://developers.google.com/drive/android/get-started 및이라는 또 다른 가이드가 있고 소스 코드를 다운로드하고 내 API 키를 교체하는 경우에도 정확한 가이드 라인을 따르고 있습니다.Google 드라이브 Api는 Google 계정에 연결할 수 없거나 승인 할 수 없습니다.

I 앱이 내가 콘솔에서 다음과 같은 출력을 얻을 드라이브에 연결되어 있는지 확인하기 위해 응용 프로그램을 실행 테스트하려고 할 때마다 : 또한

$ adb shell am start -n "app.googledrive/app.googledrive.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER 
Client not ready yet..Connected to process 2889 on device emulator-5554 
W/System: ClassLoader referenced unknown path: /data/app/app.googledrive-1/lib/x86 
I/InstantRun: Instant Run Runtime started. Android package is app.googledrive, real application class is null. 

       [ 01-16 12:33:01.211 1561: 1584 D/   ] 
       HostConnection::get() New Host Connection established 0x953a3740, tid 1584 
W/System: ClassLoader referenced unknown path: /data/app/app.googledrive-1/lib/x86 
I/GMPM: App measurement is starting up, version: 8487 
I/GMPM: To enable debug logging run: adb shell setprop log.tag.GMPM VERBOSE 
I/OpenGLRenderer: Initialized EGL, version 1.4 
D/OpenGLRenderer: Swap behavior 1 
E/EGL_emulation: tid 2930: eglSurfaceAttrib(1174): error 0x3009 (EGL_BAD_MATCH) 
W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x94efd500, error=EGL_BAD_MATCH 
I/Google Drive Activity: GoogleApiClient connection failed: ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{e061739: [email protected]}, message=null} 

계정을 추가 진열되어있는 구글 로그인 나에게 그것은 Google 서버에 연결되지만 계정을 인식하지 못하거나 하나 또는 다른 이유로 로그인하는 것을 의미합니다. 또한 키 저장소를 다시 생성하여 개발자 콘솔에 다시 추가하고 제한되지 않은 키를 사용하여 똑같은 문제가 발생했습니다.

이 문제를 해결하는 방법에 대한 도움이나 제안을 보내 주시면 대단히 감사하겠습니다.

+1

기기를 사용해보세요. 로그인을 위해 에뮬레이터에 문제가있을 수 있습니다. – avinash

+0

감사합니다. @avinash for suggestions. 나는 그것을 안드로이드 장치에서 직접 실행하려고 시도했지만 여전히 계정을 선택하고 장치에서 내 계정을 클릭 할 때마다 다음 메시지가 여전히 android studio에서 발생합니다. – user6709078

+0

'01- 17 : 13 : 35 : 13.375 9923-9923/app.googledrive D/AppTracker : 앱 이벤트 시작 : 01-17 13 : 35 : 13.413 9923-9923/app.googledrive I/Google 드라이브 활동 : GoogleApiClient 연결 실패 : ConnectionResult {statusCode = SIGN_IN_REQUIRED, resolution = PendingIntent {a77a4d3 : [email protected]}, message = null} 01-17 13 : 35 : 13.429 9923-9923/app.googledrive D/AppTracker : 앱 이벤트 : stop 01-17 13 : 35 : 13.445 9923-9923/app.googledrive D/AbstractTracker : 이벤트 성공 01-17 13 : 35 : 13.463 9923-9923/app.googledrive D/AbstractTracker : 이벤트 성공 ' – user6709078

답변

0

이것은 답변이 아니지만 도움이 될 것입니다.

저장하려는 Google 계정을 정의하여 시작하십시오. 사용자가 자신의 계정 또는 일부 중앙 계정을 사용하는 경우 전체 enchilada 완전히 다릅니다.

다음으로 사용할 API/SDK를 결정해야합니다. 사용자가 자신의 Google 계정에 저장하려고한다고 가정하면 REST API (Java SDK 사용 여부와 상관없이) 또는 Android API를 사용할 수 있습니다. REST API를 사용하면 모든 드라이브 기능에 액세스 할 수 있지만 핸드셋이 온라인 상태 일 때만 작동하며 인증을 받기 위해 약간의 논쟁이 필요합니다. Google 드라이브 Android API (GDAA)는 기능의 일부를 제공하지만 작업하기가 쉽고 오프라인 액세스를 허용하는 이점이 있습니다.

+0

감사합니다. @pinoyyid에 대한 답을 얻었습니다.이 경우 내 응용 프로그램의 목적을 위해 잘못된 API를 사용하려고했습니다. Google 드라이브에서 Android 핸드셋으로 데이터를 저장하고 액세스하는 데 사용할 내 애플리케이션에 하나의 중앙 계정을 사용할 계획입니다. 나는 또한 핸드셋이 다른 기능을 위해 온라인 상태가되어야하므로 연결에 대해 걱정하지 않는다. 이 경우 REST API에 대해 더 많은 정보를 얻으려고합니다. 응용 프로그램에서 자격 증명을 하드 코딩해야 할 필요가 있습니다. – user6709078

+0

하나의 중앙 집중식 계정을 사용하려면 예, 자격 증명을 앱에 저장해야합니다. 자격 증명이 키 쌍인 서비스 계정 또는 자격 증명이 새로 고침 토큰 인 일반 계정을 사용하도록 선택할 수 있습니다. 발생하는 샘플 코드의 대부분은 앱이 사용자의 계정에 액세스하는 사용 사례를위한 것이므로 인증 및 승인을 처리해야합니다. – pinoyyid

+0

내가 정말로 그 바보인지 또는 무엇인지 모르겠지만 지난 며칠 동안 공식 문서 및 기타 스레드를 찾아 여기에서 REST API를 설정하고 나중에 진행하는 데 대한 몇 가지 예를 찾으려고 노력했습니다. 권한을 부여 할 서비스 계정이 있지만이 작지만 중요한 부분을 얻을 수없는 것처럼 보입니다. 내가 물어 보는 것은 너무 많을 수도 있지만,이 두 가지에 대한 샘플 코드를 가지고 있지는 않습니까? (안드로이드 장치에 대한 드라이브 REST API 설정 및 서비스 계정으로 인증) 정말 감사드립니다 :) !!! – user6709078