개인블로그
도대체 제 개인블로그에 들어오신 이유가 뭡니까? 치킨은 나 혼자서 먹을건데.

잡담/프로그래밍

구글 드라이브 API 업로드 시 파일 소유자 변경

네모2018.07.08 21:39조회 수 68431추천 수 1댓글 2

  • 3
    • 글자 크기

34112.jpg

- 이미지 출처 : www.infofueguina.com -

 

 

 

 

구글 드라이브 API를 사용하여 사이트의 첨부파일을 업로드 할 때, 업로드한 파일의 소유자를 변경할 필요가 있다.

서비스계정을 사용한다면 드라이브의 유료결제 공간을 사용할 수 없으므로 당연히 필요할 것이고,

각자의 계정을 통해(OAuth2) 업로드를 진행한다고 홰도, 업로더가 파일을 삭제하면 첨부파일을 사용할 수 없게 되므로 소유자 변경이 꼭 필요하다.

 

 

 

그러나 구글은 보안상의 문제로 몇몇 형식을 제외하고는 소유권 이전을 할 수 없도록 막아두었다.

허용된 파일은 구글 문서, 스프레드시트, 프레젠테이션, 설문지, 드로잉, 지도, 폴더로 총 7가지 종류가 있으나,

첨부파일로 올라오는 파일들의 대부분은 저 7개를 만족하지 못한다.

 

 

 

 

 

그래서 조금 번거롭고 아니꼽지만 약간의 꼼수를 사용해야 한다.

 

구글 스크립트(https://script.google.com/) 라는 서비스가 있다.

정확한 서비스명은 구글 앱스 스크립트(GAS) 라고 하는것 같다만, 도메인명은 그냥 script.google 이니 구글 스크립트라고 부르자.

 

어쨌든, 해당 서비스를 사용하면 소유권을 이전할 수 있다.

소유권 이전까지의 흐름은 아래와 같다.

 

 

 

1. API로 파일을 업로드 한다.

2. 업로드한 파일에 소유권을 이전할 계정으로 읽기 권한을 부여한다.

3. 구글 스크립트로 소유권을 이전할 계정의 드라이브에 업로드한 파일을 복사한다.

4.복사한 파일에 기존 업로더의 권한을 부여한다.

5. 기존에 업로드한 파일을 삭제한다.

6. 복사한 파일을 사용하여 다운로드 URL 등을 처리한다.

 

 

 

 

 

나의 경우 폴더를 하나 생성하고, 서비스계정과 유료계정의 권한을 지정한 뒤 해당 폴더에 이동시키는 방식을 사용했다.

아래는 구글 스크립트에서 사용할 수 있는 코드의 예제이다.

 

20180708213556.png

 

code.gs

 

 

웹앱 URL을 생성한 뒤, 파라미터로 fileId=***&folderId=*** 를 추가하여 curl 등의 방식으로 요청하면 된다.

웹앱 URL 생성시 모든 사용자(익명 포함)으로 지정하고, fileId와 folderId 두개 모두에게 권한이 있어야 한다.

 

 

 

 

 

  • 3
    • 글자 크기
규동인데 규동이 아닌 오늘자 아침메뉴 네모데브 사이트 문닫습니다.

댓글 달기 WYSIWYG 사용

글쓴이 비밀번호
댓글 2
  • 감사합니다. 관련 자료 찾고 있는데, 서비스 계정과 관련된 자료가 많지 않아 곤란하네요.
    혹시 어떤 문서를 보고 정보를 얻으시는지 알 수 있을까요?
  • 님께
    네모글쓴이
    2018.7.9 10:30 댓글추천 0비추천 0
    저는 PHP 라이브러리를 뜯어보면서 자료를 얻었습니다.
    Rest API 문서와 라이브러리 코드를 비교해보기도 하고요.
     
    StackOverflow 같은 경우는 버전 정보가 입력되어 있지 않아서 도움이 안되는 경우가 꽤 있습니다.
    PHP 라이브러리의 최신 버전에서는 JWT를 통해 서비스 계정을 인증하는데, SO에는 구버전인 P12 인증 방식의 내용이 나온다거나...
    찾아보면 JWT 버전의 정보도 많이 나오긴 합니다만, 두 버전이 섞여 있어 자료를 선택하기가 매우 번거롭습니다.
     
    그래서 제일 좋은 방법이 코드 분석이라고 생각합니다. 이 방식을 사용하면 조금 더 깊히 이해할 수 있기도 하구요.
제가 사용하고 있던 선풍기에 날개의 날 하나가 부서져서.... 강풍으로 설정해도 정상적인 선풍기의 미풍급 시원함을 뽐내는 겨울에 사용하던(?) 선풍기를 사용하고 있었습니다. 점점 날씨는 더워지고.... 선풍기는 너무 매가리가 없어서 오히려 더 열나고... 참다 참다 너무 더워서 케이블 타이를 사용하여 날개를 바꿔 끼웠습니다. 매가리 없는 선풍기의 날개가 기존 날개보다...
2018.07.14 조회 64339
만드는 방법과 들어간 재료는 규동이 맞지만, 맛은 규동이 아닌 오늘자 네침메뉴. 오늘자 네침메뉴의 맛은... 음... 생강밥에 소고기 계란 김을 토핑으로 올린 느낌이네요. 저는 불고기류 요리를 할때 생강가루를 넣는데, 가루통을 툭툭 쳐서 넣는데, 멋스럽게도 통에 있던 가루가 다 들어갔습니다. 네. 그렇습니다. 오늘 네침메뉴는 규동의 모양을 한 생강밥이였습니다.
2018.07.09 조회 67635
- 이미지 출처 : www.infofueguina.com - 구글 드라이브 API를 사용하여 사이트의 첨부파일을 업로드 할 때, 업로드한 파일의 소유자를 변경할 필요가 있다. 서비스계정을 사용한다면 드라이브의 유료결제 공간을 사용할 수 없으므로 당연히 필요할 것이고, 각자의 계정을 통해(OAuth2) 업로드를 진행한다고 홰도, 업로더가 파일을 삭제하면 첨부파일을 사용할 수 없게 되므로 ...
2018.07.08 조회 68431
네모데브 사이트 문 닫습니다ㅠㅠ 오픈 해두고는 운영도 하지 않고있고... 운영도 제대로 안하는데 누가 와서 글을 쓸 리도 없고... 실제로 스팸을 제외하면 최신 업데이트 날짜가 몇개월 전이구요. 다만 코딩메모장, 검색도우미는 도메인이 만료될 때까지는 그대로 놔 둘 예정입니다. 할당된 용량/트래픽 줄이고... 사이트 정리도 하고.... 구매한 프로그램/디자인 파일들 정리...
2018.07.08 조회 70389
마존현세강림기가 1000화를 맞이했습니다...! 작가님이 글을 참 감질나게 쓰셔서 사실 좋아한다고는 말할 수 없는 소설이지만... 2016년에 카카오페이지에 글 올라오고 난 뒤로 꾸준히 보다보니, 저에게는 하루를 시작하면서 보는 글로 자리잡았네요. 한결같은 싸이코 진호씨나, 뭔가 병신같은(?) 연하씨... 등등... 매일같이 보다보니 정이 들었나 봅니다. 정말 감질나서 때려 ...
2018.07.06 조회 74373
이틀 전에 짚 앞의 마트에 가니 1캔당 900원에 팔고 있어서.... 11캔 사서 1캔은 집으로 돌아오면서 마시고, 10캔은 쟁여놓고 마시고 있었는데...!ㅠㅠㅠ 오늘 확인해보니 저 포도맛으로 사놓은 음료는 끝이네요ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ 오늘 날 밝으면 다시 사와야겠습니다. 이번에는 좀 많이 사와야겠어요. 온라인으로 주문하면 24캔해서 15000원 내로 구매가 가능한것 같은데, ...
2018.07.04 조회 74776
드디어...! 달조 53권이 올라왔습니다. 남희성씨가 드디어 일을 하는군요. 저번에는 연재한다고 알리고는 일주일? 인가 뒤에 올렸던걸로 기억하는데, 이번에는 뜬금없이 53권 1화 올리면서 공지도 같이 올렸네요. 정말 뜬금없이 글이 올라왔고... 뜬금없이 소장권? 대여권?도 선물을 주더군요. 올라올 걸 생각치 못해서 소장권 충전을 못했는데, 이참에 25화 모두 올라오면 몰아...
2018.07.04 조회 75274
벽이 부서진건 신경쓰지 맙시다. 벽에 덧대어놓은 판자가 유리멘탈이라 그런지 잠꼬대 하다가 주먹으로 치면 부서집니다. 방안에 쇼파가 생겼습니다. 침대에 있던 다 무너져가는 매트리스를 치우고 집에 있던 초대형 튜브(?)를 올려보았습니다. 생각보다 괜찮더라구요. 잘때 한쪽 다리를 벽에 기대는 습관이 있어서 낮잠을 자보니 꽤 편했습니다. 애니메이션이나 영화볼 때에도 ...
2018.07.04 조회 74927
오늘 새벽 6시쯤 갑자기 "밖에서 뛰고 싶다!" 라는 생각이 들어 무작정 나가 뛰다가 울산도서관이라는 이름을 가진 건물이 하나 세워진 것을 보고 놀라 구경하다 왔습니다. 나중에 알아보니 세워진지 한두달은 지났다고 하는데, 방구석폐인이라서 그런지 이제서야 알았네요ㅠ 만약에 방구석에서 나오게 된다면.... 날도 더운데 에어컨이 있는 도서관에서 소설이나 보러 가야겠습...
2018.06.29 조회 75011
대략 이렇게 생긴놈을 만들어보려고, 나무젓가락을 학대해 보았습니다. 몇년만에 하는거라 그런지 손이 안따라주네요ㅠㅠ 심지어 커터칼 날까지 부러져서 날아가버리고.... 이리저리 탈이 많아서 포기하려다가 참고 만들었는데, 파츠 조합 완료하고보니 사포질을 안해서 채색도 못하게 되었습니다ㅠ 어쨌든... 완성하니 이렇게 생겨먹었는데, 아쉬운점이 너무 많네요ㅠㅠㅠㅠ 칼...
2018.06.25 조회 74822
첨부 (3)
34112.jpg
45.2KB / Download 6
20180708213556.png
105.7KB / Download 7
code.gs
526Bytes / Download 11
서버에 요청 중입니다. 잠시만 기다려 주십시오...