App 화면으로 이동하려면 위에 있는 링크를 클릭해 주세요.
이 App은 Google 드라이브에 있는 파일이나 폴더를 복사할 수 있습니다.
여러분은 인터넷 브라우저만 있으면 파일을 복사할 수 있습니다. 자세한 내용은 Google에서 제공하는 도움말을 참고하세요.
Google 드라이브 사용 방법
https://support.google.com/drive/answer/2424384?co=GENIE.Platform%3DDesktop&hl=ko
Google 드라이브에서 파일 정리
https://support.google.com/drive/answer/2375091?co=GENIE.Platform%3DDesktop&hl=ko
그러면 간단한 방법이 있는데 왜 App을 사용하는지 살펴 보겠습니다.
구글은 하루에 파일을 보거나 다운로드할 수 있는 양을 제한합니다. 그래서 인기 있는 파일은 제한에 걸려 있습니다. 제한에 걸린 파일을 보거나 다운로드할 때 안내 메시지는 다음과 같습니다.
지금은 동영상을 재생할 수 없습니다. 허용된 재생 횟수를 초과했습니다. 나중에 다시 시도해 주세요.
현재 이 파일을 보거나 다운로드할 수 없습니다.
최근에 이 파일을 보거나 다운로드한 사용자가 너무 많습니다. 잠시 후 파일에 다시 액세스해 보시기 바랍니다. 액세스하려는 파일이 너무 크거나 공유 사용자가 많은 경우 파일을 보거나 다운로드하는 데 최대 24시간이 걸릴 수 있습니다. 24시간 후에도 파일에 액세스할 수 없는 경우 도메인 관리자에게 문의하시기 바랍니다.
영어 메시지는 다음과 같습니다.
Unable to play this video at this time. The number of allowed playbacks has been exceeded. Please try again later.
Sorry, you can't view or download this file at this time.
Too many users have viewed or downloaded this file recently. Please try accessing the file again later. If the file you are trying to access is particularly large or is shared with many people, it may take up to 24 hours to be able to view or download the file. If you still can't access a file after 24 hours, contact your domain administrator.
App 없이 제한에 걸린 파일을 복사하려면 파일을 내 드라이브에 추가하는 과정이 필요합니다.
참고 : 구글 드라이브 - 현재 이 파일을 보거나 다운로드할 수 없습니다.
blog.naver.com/huys/221208497897
App은 내 드라이브에 추가하는 과정 없이 바로 복사할 수 있습니다. 복사된 파일을 다운로드할 수 있습니다. 복사한 동영상은 바로 볼 수 없을지도 모릅니다. 구글이 내부적으로 동영상을 처리하는데 시간이 필요합니다.
작업 이력을 로그 스프레드시트에 기록합니다.
늘 정상적으로 복사하면 좋겠지만 그렇지 않습니다.
App에서 발생한 오류도 로그 스프레드시트에 기록합니다.
404: File not found: {fileId}
App 사용자가 입력한 파일 URL이나 파일 ID에 해당하는 파일이 없을 때 발생하는 오류입니다.
developers.google.com/drive/api/v2/handle-errors#404_file_not_found_fileid
The user has exceeded their Drive storage quota
App 사용자의 Google 드라이브에 저장 공간이 부족할 때 발생하는 오류입니다.
아래 있는 공유 드라이브에 복사를 참고하세요.
공유 드라이브에 복사할 때도 내 드라이브에 여유 저장 공간이 있어야 작업할 수 있습니다.
참고: Google 드라이브 공간 비우기 및 저장용량 늘리기
support.google.com/drive/answer/6374270?hl=ko
403: User rate limit exceeded
App 사용자가 하루에 복사할 수 있는 용량을 초과했을 때 발생하는 오류는 다음과 같습니다.
developers.google.com/drive/api/v2/handle-errors#403_user_rate_limit_exceeded
참고 : 복사 앱 과부하 메시지
하루에 90분 동안만 작업할 수 있다는 제한도 있습니다.
작은 크기의 파일이 많은 폴더를 복사 할 때 발생합니다. 따로 오류가 발생하지 않습니다. 그냥 앱이 정지됩니다. 따라서 로그 스프레드시트에 기록되는 게 아무것도 없습니다.
참고 : 구글 앱스 스크립트 하루 할당량
그 외에도 다양한 오류가 있습니다.
The file limit for this shared drive has been exceeded
Transient failure
Internal Error
Backend Error
App이 비 정상적일 때 로그 스프레드시트에서 관련 오류를 찾아 보세요.
참고 : 앱 오류를 알려 주세요.
Resolve errors
Google 드라이브에서 내 드라이브 저장 공간이 부족하면 내가 사용할 수 있는 공유 드라이브에 복사할 수 있습니다.
참고 : 공유 드라이브 제한사항
https://support.google.com/a/answer/7338880?hl=ko&ref_topic=7337266
App 없이도 공유 드라이브에 복사할 수 있지만 파일을 복사할 때마다 공유 드라이브를 찾아서 선택해야 합니다. App은 선택한 공유 드라이브 설정을 유지합니다. 따라서 한번만 선택하면 됩니다.
사용할 수 있는 공유 드라이브가 없으면 www.drfiles.net/을 참고하세요.
App 없이 파일을 복사하면 파일명에 ~ 의 사본이라고 붙습니다. 그래서 다운로드해서 사용하려면 뒤에 붙은 걸 제거해야 파일 종류에 맞는 프로그램과 연결됩니다. 브라우저 언어가 영어로 되어 있으면 파일 이름 앞에 Copy of가 붙습니다.
복사는 다른 사람이 가진 파일을 복사하는 경우가 많습니다. 그래서 App을 사용해서 복사할 때는 파일명을 그대로 유지합니다.
인터넷 브라우저에서 App 실행 URL을 사용하여 App을 시작할 수 있습니다.
script.google.com/macros/s/AKfycbzIf1xfQ7HH1SSQdR_LCFTtR-YrajOrv1RysWDzu8eUyKdumQE/exec
최초로 App을 시작하면 사용자에게 데이터 액세스 권한을 요청하는 당사자 및 액세스 권한이 필요한 데이터의 종류를 안내합니다.
Google 드라이브 파일 보기, 수정, 생성, 삭제
Google 드라이브에서 스프레드시트 보기, 수정, 생성, 삭제
외부 서비스에 연결
내 이메일 주소로 이메일 보내기
부재중에 이 애플리케이션을 실행하도록 허용
영어는 다음과 같습니다.
See, edit, create, and delete all of your Google Drive files
See, edit, create, and delete your spreadsheets in Google Drive
Connect to an external service
Send email as you
Allow this application to run when you are not present
권한을 승인해야 앱을 사용할 수 있습니다.
App은 Google Apps Script로 만든 Web App입니다.
https://developers.google.com/apps-script/
다음은 스크립트 편집기에서 이 App의 프로젝트를 열어서 복사한 내용입니다.
스크립트에 필요한 OAuth 범위 6개:
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/script.external_request
https://www.googleapis.com/auth/script.scriptapp
https://www.googleapis.com/auth/script.send_mail
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/userinfo.email
GCP 콘솔에서 App의 OAuth 동의 화면을 열면 다음과 같은 설명이 있습니다.
사용자는 인증 전에 이 동의 화면을 통해 비공개 데이터에 대한 액세스 권한을 부여할지 선택할 수 있으며 서비스 약관 및 개인정보처리방침 링크도 제공됩니다. 이 페이지에서 프로젝트에 속한 모든 애플리케이션의 동의 화면을 구성합니다.
App 사용자가 제출한 폴더와 하위 폴더에 있는 파일들을 복사하는 과정에서 Drive Service( https://developers.google.com/apps-script/reference/drive/ )를 사용합니다. 이를 위해서 https://www.googleapis.com/auth/drive 권한이 필요합니다.
App 사용자가 제출한 폴더나 파일을 복사하기 위해서 Advanced Drive Service( https://developers.google.com/apps-script/advanced/drive )를 사용합니다. 이를 위해서 https://www.googleapis.com/auth/script.external_request 권한이 필요합니다.
App 사용자가 제출한 폴더에 있는 파일들을 복사하는 도중에 시간 제약으로 작업이 중단됩니다. 중단된 작업을 계속하기 위해서 Trigger를 사용합니다. 이를 위해서 https://www.googleapis.com/auth/script.scriptapp 권한이 필요합니다.
App에서 파일이나 폴더 복사 과정을 스프레드시트에 기록하기 위해서 https://www.googleapis.com/auth/spreadsheets 권한이 필요합니다.
App 사용자의 이메일을 화면에 표시 하기 위해서 getEffectiveUser( https://developers.google.com/apps-script/reference/base/session#getEffectiveUser() )를 사용합니다. 이를 위해서 https://www.googleapis.com/auth/userinfo.email 권한이 필요합니다.
App 작업 중 오류로 앱이 중단될 수 있습니다. 이 경우 사용자가 지정한 계정으로 이메일을 보내기 위해서 sendEmail( https://developers.google.com/apps-script/reference/mail/mail-app#sendEmail(String,String,String) )을 사용합니다. 이를 위해서 https://www.googleapis.com/auth/script.send_mail 권한이 필요합니다.
App을 사용해서 Google 드라이브에 있는 파일을 복사하는 과정을 영상으로 만들어 보겠습니다.
사용자가 App에 권한을 승인하는 과정이 포함됩니다.
다음은 인터넷에 공개된 공유 폴더입니다.
G Folder Site
https://drive.google.com/folderview?id=0B_MA3GXgQ1ulZzVxWnE2RHhvX2M
위 공유 폴더에 있는 파일 중 하나를 복사합니다.
GoogleCloud_Partner_Badge_150.png
https://drive.google.com/a/gfolder.net/file/d/0B_MA3GXgQ1ulMGsySzc2UVQwT1E/view?usp=drivesdk
OAuth API Verification FAQ