2016-11-10 3 views

답변

2

배경 :

Google 드라이브 API는 "서비스 계정"이 아닌 일반적인 "인간의 사용자를"사용 권한이 부여됩니다. Google은 현재 서비스 계정에 대한 15GB 한도를 늘릴 방법이 없으며 추가 공간을 구입할 수있는 메커니즘이 없습니다. 표준 공간 할당을 사용하면 추가 파일을 업로드 할 수 없습니다.

사람/일반 G-Suite 사용자는 표준 15GB를 얻을 수 있지만 간단한 옵션으로 단순한 페니의 경우 100GB 이상으로 늘릴 수 있습니다.

그래서 서비스 계정보다는 휴먼 계정의 저장 할당량에 따라 파일을 업로드하므로 원하는만큼 공간을 확보 할 수 있습니까? 사실 아주 간단합니다! 그냥 슈퍼 음 ... 문서화되지

솔루션 :

이 솔루션은 가장 할 인간 계정에 서비스 계정을 구성하는 것입니다. 즉, 서비스 계정을 사용하여 드라이브 API를 인증하지만 서비스 계정은 휴먼 계정을 대신하여 행동 할 권한이 있으며 저장 공간은 해당 사용자의 할당량에서 할당됩니다.

준비 : 이것은 중요합니다. Carefully review the instructions here to make sure your service account is set up correctly for impersonation. 이것으로부터 이탈하면 당신을 좌절시키고 낭비하는 시간을 낭비하는 임의의 오류를 줄 것입니다. 서비스 계정은 Google IAM Console에서 DwD (도메인 전체 위임)를 사용하도록 설정해야하며 Google Admin site의 API 클라이언트 액세스 페이지에서 드라이브 범위에 액세스 할 수 있도록 허용해야합니다.

서비스 계정이 올바르게 설정되었으므로 일반 계정을 가장하려면 JWT 클라이언트를 만들 때 휴먼 계정 전자 메일 주소를 지정하기 만하면됩니다.

는 NodeJS 그것은 (마지막 매개 변수에주의) 다음과 같습니다

let jwtClient = new GoogleApi.auth.JWT( service_account_email, null, private_key, ['https://www.googleapis.com/auth/drive'], '[email protected]');

다른 언어의 사용자를 가장하는 방법에 대한 공식 Google 문서를 참조하십시오.

이제 드라이브 API 스크립트가 파일을 업로드하면이 일반 사용자가 소유하며 공간은 할당량에서 할당됩니다. 이를 늘리는 것은 쉬운 일이 아니며 관리자 나 G-Suite 지원팀에 문의하여 수행 할 수 있습니다.