dropbox API Python 파일 업로드 & 공유 링크 가져오기
이번 게임제작에서 팀원들한테 게임을 배포할때 디스코드를 이용하고 있다.
다운로드 같은 경우에는 구글 드라이브 주소를 올려주고 있었는데, 아무래도 이것보다는 바로 다운로드가 가능한 링크를 주는게 더 편할 것 같아서 DropBox API를 이용해서 파일을 업로드하고 공유 링크를 가지고 오는 것을 간단하게 만들었다.
https://www.dropbox.com/developers
Developers
HelloSign, now part of the Dropbox family, is an easy to use eSignature platform that can be implemented into your application. Click here to get started with the HelloSign eSignature API today!
www.dropbox.com
우선 개발자 페이지에가서 APP을 만들어주자. 만드는 설명은 다른 곳에서도 잘 나와있고 굳이 설명도 필요없을것 같다.
이제 이 토큰을 이용해서 업로드하거나 하면된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import dropbox
class DropBoxManager:
def __init__(self,token, filename,pathname):
self.token = token
self.fileName = filename
self.pathName = pathname
def UpLoadFile(self):
dbx = dropbox.Dropbox(self.token,timeout=900)
with open(self.fileName, "rb") as f:
dbx.files_upload(f.read(), self.pathName, mode=dropbox.files.WriteMode.overwrite)
def GetFileLink(self):
dbx = dropbox.Dropbox(self.token,timeout=900)
shared_URL = dbx.sharing_create_shared_link_with_settings(self.pathName).url
modified_URL = shared_URL[:-1] + '1'
return modified_URL
|
cs |
이렇게 파일을 올리고 공유 링크를 가져오면 된다. FileName은 로컬에 있는 파일 경로이고, pathName 드롭박스에 올릴곳에 path이다. 그리고 timeout=900 같은경우에는 큰 파일을 올릴경우 시간 제한에 걸려 올려지지가 않는것 같다. 검색해보니 900으로 하면 약 3기가 정도에 파일을 올릴 시간이 된다고해서 저렇게 했다.
https://dropbox-sdk-python.readthedocs.io/en/latest/
더 자세히 알고 싶은 여기에 가보자.