글

라벨이 Google Drive인 게시물 표시

Files in Google Drive

Advanced Drive Service in Apps Script 에 이어서  Files and folders overview 를 보면 파일 속성 중에 ID가 있습니다. File attributes File ID A unique opaque ID for each file. File IDs are stable throughout the life of the file, even if the file name changes. Files in Drive cannot be directly addressed by their path. Search expressions are used to locate files by name, type, content, parent container, owner, or other metadata. 제가 만든 복사 앱은 파일이나 폴더 URL을 입력 받아서 복사본을 만듭니다. 참고:  G 폴더 복사 앱 설명서 파일을 복사하기 위해서 drive.files.copy를 사용합니다. 이때 Parameter에 file Id를 넣어줘야 합니다. Files: copy 를 참고하세요. 따라서 파일이나 폴더 URL에서 파일 ID를 추출해야합니다. 예전에 stackoverflow에서 검색해서 코드에 적용했는데 조금 바뀌었네요. Easiest way to get file ID from URL on Google Apps Script https://stackoverflow.com/questions/16840038/easiest-way-to-get-file-id-from-url-on-google-apps-script/16840612 function getIdFromUrl(url) {   return url.match(/[-\w]{25,}/); } 마지막에 있는 ID를 구하기 위해서 $를 추가했네요. /[-\w]{25,}$/ $를 추가하면 파일 ID...

Copy to shared drives app

이미지
Copy to shared drives app manual Google 드라이브 Folder 복사 앱 설명서를 수정했습니다. https://docs.google.com/document/d/1rM01Sp_X6oCfTyTDyR8drUkucErI7iVezIM2FiR-B6U/edit?usp=sharing Web page https://copy.gfolder.net/ 앱 실행 URL bit.ly/GFolder 팀 드라이브와 공유 드라이브가 공존하고 있습니다. Team Drives is being renamed to shared drives https://gsuiteupdates.googleblog.com/2019/04/shared-drives.html Copy to shared drives app, 2019-06-21.png 앱에 추가된 기능이 있습니다. 모든 폴더에서 분리된 파일을 찾을 수 있습니다. https://cafe.naver.com/eojji/547 https://cafe.naver.com/eojji/548 파일 업로드 https://blog.naver.com/gsuite-reseller/221554030898

Remove Duplicate files in Google Drive

이미지
Google 드라이브에서 중복 파일 제거하기 구글 드라이브에서 파일 크기가 큰 거부터 읽어서 같은 파일이 있는지 검사합니다. 같은 파일이면 파일을 만든 순서대로 스프레드시트에 기록합니다. 같은 파일 중에서 최초로 만든 파일을 제외한 나머지 파일들을 특정 폴더에 추가합니다. 모든 파일의 중복 검사가 끝나면 이 폴더를 삭제하고 휴지통까지 비우면 중복 파일 제거가 끝납니다. DeduperTrigger_sheet.png 작업은 6분 주기로 실행됩니다. 한번 실행한 결과를 로그 스프레드시트에 기록합니다. Count: 274 / 2000 이것은 한번 실행할 때 2,000개 파일을 읽었고 그 중에서 중복 파일 274개를 찾아서 폴더에 추가했음을 뜻합니다. Drive Sheet App 실행 URL https://script.google.com/macros/s/AKfycbzJcy6zIAdI46QNFrY8JzhqpT2ZeJ2x9d2mxlzX2yDnlVSR8hw/exec 앱 개발 과정은 다음을 참고하세요. Duplicate files, Deduper in Google Drive Find the same file with md5 in Drive.Files.list Move duplicate files to the trash. Deduper in Drive Sheet app

Deduper in Drive Sheet app

이미지
Move duplicate files to the trash 에 이어서 중복된 파일을 휴지통 대신 특정 폴더에 넣기 위해서 Drive.Parents.insert를 사용했습니다. Parents: insert Adds a parent folder for a file https://developers.google.com/drive/api/v2/reference/parents/insert 내 드라이브에서 중복된 파일을 찾아서 원본만 남기고 나머지 파일을 '_ Deduper eojji' 폴더에 추가합니다. var folderName = '_ Deduper eojji'; 중복 파일 찾기가 완료되면 Deduper Spreadsheet의 B1 셀이 Completed로 변합니다. Deduper 폴더에서 필요없는 파일을 삭제합니다. Deduper 폴더를 삭제해도 됩니다. Deduper 폴더는 중복 파일 찾기를 위해서 Find 버튼을 클릭하면 만들어집니다. 저장 공간을 늘리기 위해서 휴지통을 비웁니다. Google 드라이브에 있는 파일 삭제 및 복원하기 https://support.google.com/drive/answer/2375102 Google 드라이브 공간 비우기 및 저장용량 늘리기 https://support.google.com/drive/answer/6374270 Drive Sheet App Drive Sheet App을 실행하기 위한 URL입니다. https://script.google.com/macros/s/AKfycbzJcy6zIAdI46QNFrY8JzhqpT2ZeJ2x9d2mxlzX2yDnlVSR8hw/exec Deduper in Drive Sheet app.png 중복 파일 찾기 작업을 시작하려면 앱 화면에서 Find 버튼을 클릭합니다. 작업을 삭제하려면 Delete 버튼을 클릭하세요. 주의: Search 작업도 같이 삭제됩니다. Lo...

Move duplicate files to the trash.

이미지
Find the same file with md5 in Drive.Files.list 에 이어서 배열에 있는 파일 객체에서 md5Checksum 속성이 같은 것만 추출하려고 이것 저것 알아 봤습니다. 배열의 필터나 map을 사용하면 된다고하는데 제 작업에는 맞지 않습니다. 제약 사항으로 Drive.Files.list로 한번에 모든 파일을 읽어 올 수 없습니다. 스크립트 실행시간이 최대 6분이라 그 전에 작업 환경을 저장해 두고 트리거로 쿼리 작업을 호출해야 합니다. md5 속성이 같은 것만 추출하기 위해서 쿼리한 파일 목록에서 파일 하나를 읽어서 저장해 둡니다. 그리고 다음 파일을 하나씩 가져와서 비교합니다. 가져온 파일이 저장한 파일과 다르면 저장 파일에 가져온 파일을 대입하고 다음 파일을 읽습니다. md5가 같으면 저장된 파일과 읽은 파일 둘을 스프레드시트에 기록합니다. 다음부터 파일이 같으면 가져온 파일만 스프레드시트에 기록합니다. 어제 Find 버튼을 클릭해서 만들어진 스프레드시트입니다. Deduper Spreadsheet 1560830988322.png 로그 스프레드시트를 보고 구글 서버의 내부 오류가 있었을 때 Find 버튼을 눌러서 계속 작업을 시켰습니다. 마지막 행에 Start가 기록된 상태로 멈춰있습니다. Start 다음에 Continue나 Error가 나와야하는데 없는 걸 보니 작업이 중단된 상태입니다. Log Search 1558768360813.png 구글 서버의 하루 할당량 제한이 초기화되려면 24시간 기다려야 됩니다. 그 후에 Find 버튼을 클릭하면 작업이 계속될 겁니다. 이제 스프레드시트에 중복된 파일을 모으는 기능은 완료된 것 같습니다. 다음으로 할 일은 중복된 파일 중에서 가장 먼저 생성된 파일만 남기고 나머지는 삭제하면 됩니다. 중복된 파일을 바로 삭제하면 복구가 어렵습니다. 휴지통을 거쳐서 삭제하면 안전한데 휴지통은 이미 다른 파일이 있어서 중복된...

Find the same file with md5 in Drive.Files.list

이미지
Duplicate files, Deduper in Google Drive 에 이어서 drive.files.list로 쿼리한 결과를 스프레드시트로 출력합니다. 구글 드라이브에 같은 파일을 업로드해서 md5가 같은 걸 확인했습니다. Deduper Spreadsheet.png Files: list를 사용해서 'quotaBytesUsed' 속성이 큰 순서로 파일 목록을 만듭니다. 'md5Checksum'이 같으면 같은 파일로 간주해서 다른 스프레드시트에 기록할 생각입니다. Drive Sheet app을 실행해 보려면 다음을 참고하세요. https://drive.eojji.com/sheet Files: list https://developers.google.com/drive/api/v2/reference/files/list G Suite Developer Drive REST v2 참조 Lists the user's files. Try it now or see an example. This method accepts the q parameter, which is a search query combining one or more search terms. For more information, see the Search for files guide. Response If successful, this method returns a response body with the following structure: {   "kind" : "drive#fileList" ,   "etag" : etag ,   "selfLink" : string ,   "nextPageToken" : string ,   "n...

Duplicate files, Deduper in Google Drive

이미지
내 구글 드라이브에는 많은 파일이 있습니다. https://drive.google.com/drive/my-drive storage drive.google.com drive my-drive.png 주로  Drive cse app으로 동영상을 찾아서 G 폴더 복사 app으로 팀 드라이브에 복사합니다. 팀 드라이브는 공유 드라이브로 이름을 바꾸는 중입니다. 복사가 완료되면 팀 드라이브의 폴더를 내 드라이브로 옮깁니다. 이렇게 공유 드라이브를 거치는 이유는 구글 서비스 할당량 때문에 복사가 중단될 수 있고 이때 같은 공유 드라이브의 멤버 계정으로 로그인해서 이어서 복사할 수 있기 때문입니다. 자세한 내용은 복사 앱 설명서 를 참고하세요. Quotas for Google Services Apps Script | Google Developers https://developers.google.com/apps-script/guides/services/quotas Apps Script services impose daily quotas and hard limitations on some features. If you exceed a quota or limitation, your script throws an exception and execution terminates. 복사하기 전에 내가 가지고 있는 파일인지 확인하기 위해서 Drive sheet app에서 파일명으로 검색해서 확인할 수 있지만 귀찮은 일입니다. 구글 드라이브에 내가 가진 파일을 크기순으로 정렬해서 볼수있는 기능이 있습니다. 단순히 인터넷 브라우저에서 구글 드라이브 사이트로 이동해서 저장용량을 클릭하면 됩니다. 위에 있는 이미지에서 저장용량의 위치를 확인하세요. Clear Google Drive space & increase storage https://support.google.com/drive/answer/6374270 ...

gSubfolder - List Google Drive foldes

이미지
gSubfolder 는 인터넷 브라우저에서 사용할 수 있는 웹 앱입니다. Google 드라이브에서 작업할 폴더의 주소(URL)를 복사하여 gSubfolder에 붙여 넣고 Submit 버튼을 클릭합니다. 작업 내용은 입력 받은 폴더의 하위 폴더 목록을 Google spreadsheet에 저장해서 보여줍니다. 또한 Sheet의 하위 폴더를 Tree 형태로 정렬하는 Google Apps script를 지원합니다. 참조: Your first script - Overview of Google Apps Script gSubfolder needs your permission to access your data on Google.  gSubfolder에서 다음을 요청합니다.  Google 드라이브에서 파일 보기 및 관리 Google 드라이브에서 스프레드시트 보기 및 관리 애플리케이션과 연결된 데이터 보기 및 관리 부재중 이 애플리케이션을 실행하도록 허용 허용을 클릭하면 이 앱과 Google에서 서비스 약관 및 개인정보처리방침에 따라 내 정보를 사용하도록 허용하게 됩니다. 언제든지 이 권한 및 다른 계정 권한을 변경할 수 있습니다. 상세보기:  https://sites.google.com/gfolder.net/gsubfolder

Share Google Drive by Eojji.net

이미지
Google 드라이브 무제한 저장 공간을 일반 Google(Gmail 계정) 사용자에게 공유하는 방법입니다. 어찌넷 회원은 어찌넷 Google 드라이브 에 일반 구글 사용자의 폴더를 만들고 사용자를 초대합니다. 초대 받은 사용자는 자신의 구글 계정으로 접속하여 초대 이메일을 확인합니다. 이하는 상세 내용입니다. 어찌넷 폴더 공유하기 먼저 어찌넷  가입 신청서를 작성합니다. 참조: https://goo.gl/sTWfHS 가입이 완료되면 어찌넷에 로그인 합니다.  웹 브라우저에서  drive.google.com 으로 이동합니다. 새로 만들기 버튼을 클릭하여 폴더를 만듭니다. 폴더 이름 정하기 폴더를 선택하고 화면 오른쪽 상단에 있는 공유 아이콘 을 클릭합니다. 일반 사용자의 구글 계정(gmail.com)을 입력하고 보내기 버튼을 클릭합니다. 구글 일반 사용자가 할일 일반 사용자는 브라우저의 주소 창에  Google 주소( https://www.google.co.kr )를 입력하여 Google 사이트로 이동합니다. 브라우저의 상단 오른쪽에 있는 로그인 버튼을 클릭합니다. 자신의 구글 계정으로 로그인합니다. (  구글 계정은 사진과 같이 자신의 아이디와 @gmail.com으로 구성됩니다. ) 메일 서비스로 이동하여 받은 편지함에서 어찌넷에서 보낸 공동작업 권한 공유 메일을 확인합니다. 메일 내용 중에서 열기 버튼을 클릭합니다. 드라이브에 추가 버튼 클릭 드라이브에서 열기 버튼 클릭 파일이나 폴더를 선택한 후 브라우저로 드래그 앤 드롭합니다. 이렇게 올린 파일의 소유자는 일반 구글 사용자입니다. 따라서 자신의 구글 드라이브 용량이 소비됩니다. 이것을 해결하고자 어찌 폴더 서비스를 만들었습니다. 어찌 폴더 서비스를 사용하여 어찌넷에 폴더나 파일을 올...