본문 바로가기
카테고리 없음

Direct link to google drive public files and directories.

by DogBull 2016. 4. 29.

1. 내용

현재 구글 드라이브는 15GB의 용량을 제공하고 있다. 메일, 포토, 문서, 드라이브 등 다양한 서비스에 대해 총 15GB를 제공하는 것이지만 무료로 사용하는 입장에서 적다고 불평하기에 뭣하다. 그 중 드라이브 서비스는 파일을 쉽게 공유할 수 있을 뿐만 아니라 폴더안의 모든 항목을 일괄적으로 공유할 수 있어 여러모로 편리하다. 하지만 파일에 대한 직접적인 링크를 제공하지 않기 때문에 특정 용도로 사용하기에는 어려움이 있다.(직접 링크는 존재한다. 다만 공식적으로 제공하지 않는 듯 하다)

예를들어 아래과 같은 HTML 파일이 있다고 가정해 보자.이 HTML 파일이 의도한 대로 동작하기 위해서는 test.png 에 접근할 수 있어야 한다.

구글 드라이브에 test.png를 두고 html에서 불러오는 예제를 작성하겠다.

2. 구글 드라이브에서 파일 공유

아래의 그림과 같이 구글 드라이브에 test.png라는 파일이 업로드되어 있다. 이 파일을 구글이 제공하는 기본적인 방법으로 공유를해보자.


공유하고자 하는 파일을 우클릭하면 아래의 그램과 같이 "공유 가능한 링크 가져오기"라는 메뉴를 볼 수 있다.


"공유 가능한 링크 가져오기"를 선택하면 해당 파일이 공유가되고, 클립보드에 자동으로 파일에 대한 URL이 저장된다. 그리고 해당 파일이 공유되고 있음을 나타내는 플래그가 붙는다.



클립보드에 복사된 URL을 확인해 보면 아래와 같다.


파일이 공유되고 있지만 직접 링크를 제공하지는 않는 듯 하다.

3. 공유된 파일 직접 링크 가져오기

앞서 클립보드에 복사된 URL은 아래와 같다.

https://drive.google.com/file/d/0B4rBluaDy-tkem5oOWYzaXpPUFU/view


여기서 적색으로된 복잡한 문자열이 공유된 파일에 대한 고유 식별자이다. 이 식별자를 복사한다.

그리고 아래의 URL과 복사한 문자열을 합친다.

http://googledrive.com/host/

그럼 아래와 같은 URL이 되겠다.

http://googledrive.com/host/0B4rBluaDy-tkem5oOWYzaXpPUFU


이제 이 URL로 공유된 파일에 직접 접근할 수 있다.(위 URL은 어디론가로 리다이렉트된다.)

이와 같은 방법으로 공유하고자 하는 파일이 많을 경우 문제가 된다. 아래에서 설명하것 처럼 폴더를 공유하고, 그 폴더 아래의 파일에 대한 경로를 적어주는 방식으로 다수의 파일을 한번에 공유할 수 있다.

4. 폴더를 공유하여 직접 링크 가져오기

아래의 그림과 같이 public라는 폴더를 만들고, 이 폴더에 대해 "공유"를 수행하였다.



"고급"을 클릭 한다.


액세스 권한을 변경하기 위해 아래의 그림과 같이 "변경"을 클릭 한다.


"웹에 공개"를 선택하여 모든 사용자가 액세스할 수 있게 한다.


그러면 공유를 수행한 public 폴더의 아이콘 내부에 사람 모양의 아이콘이 들어가 있음을 볼 수 있다.


앞서 공유를 수행한 public 폴더 안에 test2.png라는 파일을 업로드 해 보니, 파일이 기본적으로 공유되어 있는 것을 볼 수 있다. 공유 폴더에 올려지는 파일은 기본적으로는 폴더의 공유 속성을 따라 가는 듯 하다.


이제 public 폴더의 공유 식별자만 알고 있으면 그 하위에 파일에 대해서는 익숙하게 알고 있는 방법으로 접근할 수 있다. 아래의 방법으로 public 폴더에 대한 공유 URL을 가져와 보았다.


클립브드에 복사된 URL은 아래와 같다.

https://drive.google.com/open?id=0B4rBluaDy-tkTmNCa2tPbVh3LVE

여기서 적색으로된 문자열이 "공유된 폴더"에 대한 고유 식별자이며 앞서 예기한 URL과 합지면 아래와 같다.

http://googledrive.com/host/0B4rBluaDy-tkTmNCa2tPbVh3LVE

그리고 test2.png에 대한 링크를 아래와 같다.

http://googledrive.com/host/0B4rBluaDy-tkTmNCa2tPbVh3LVE/test2.png