2014-10-07 4 views
1

내 응용 프로그램의 서비스 계정을 사용하여 내 도메인의 모든 사용자에 대한 모든 문서에 액세스하려고했습니다. 다음 지시 사항을 따르고 있습니다. https://developers.google.com/drive/delegationGoogle 드라이브 API - 도메인 전체 서비스 계정으로 작업하고 도메인의 모든 문서 목록을 가져 오는 방법

그러나 작동하지 않았습니다. 이걸 좀 도와 주실 래요?

여기가 잘 작동하고

GoogleCredential credential = new GoogleCredential.Builder() .setTransport(TRANSPORT) .setJsonFactory(jsonFactory) .setServiceAccountId("SERVICE_ACCOUNT_EMAIL") .setServiceAccountPrivateKeyFromP12File(new java.io.File("SERVICE_ACCOUNT_PKCS12_FILE_PATH")) .setServiceAccountScopes(scopes) .setServiceAccountUser("[email protected]").build();

코드

의 문제 라인이지만, 대신 단 하나의 useraccount 저를 제공합니다 ...이 도메인에 대한 모든 사용자에 대해 나에게 정보를 제공해야합니다 .. "서비스"계정 문서에이 도메인 아래의 모든 사용자의 데이터에 액세스 할 수 있어야한다고 나와 있습니다.

스코프가 추가되고 APIS는이 계정에 대해 사용할 수 있습니다

+0

당신은 당신의 서식을 수정해야합니다. – skrrgwasme

+0

com.google.api.client.googleapis.json.GoogleJsonResponseException : 403 OK { "code": 403, "errors": {{ "domain": "global", " 메시지 ":"금지 ","이유 ":"금지 "}],"메시지 ":"금지 "} –

답변

2

나는 워드 프로세서 당신이 서비스 계정을 가질 수 있고 한번에 액세스에 전체 도메인에있는 모든 파일, 당신은 행동해야 의미 생각하지 않는다 서비스 계정 .setServiceAccountUser ("[email protected]")을 사용하여 특정 사용자를 대신하여

서비스 계정은 개별 사용자의 허가를 요청해야하는 번거 로움을 덜어줍니다. 내가 원하는 것을 얻을 수 있다고 생각하는 유일한 방법은 Admin SDK의 Directory API를 사용하여 도메인의 모든 사용자를 검색하는 것입니다 (이 답변 Listing users using Google Admin SDK in Java 참조). 서비스 계정 사용자를 설정하여 새 자격 증명 개체를 만드는 이들 사용자를 반복합니다. 예 setServiceAccountUser ("[email protected]").

그런 다음 각 사용자의 파일을 나열 드라이브 SDK를 사용

https://developers.google.com/drive/v2/reference/files/list

+0

나는이 일을했지만 FileList의 빈 결과를 얻고있다 –

+0

다음 오류가 발생하면 문서를 가져 오는 프로그램을 실행할 때 com .google.api.client.googleapis.json.GoogleJsonResponseException : 403 OK { "코드"403 "오류"[{ "도메인": "글로벌" "메시지": "금지", "reason": "prohibited" }], "message": "금지됨" } –

+0

도메인 위임을 수행하기 위해 여기서 설명한 모든 단계를 수행 했습니까? 특히 https://developers.google.com/drive/web/delegation에서 도메인 관리 콘솔의 드라이브 범위에 클라이언트 ID 액세스 권한을 부여 하시겠습니까? – omerio

관련 문제