Python과 Dropbox 연동 했던 부분에 대한 기록을 남겨둔다.
우선 Dropbox의 개발자 사이트로 접속하면 dropbox api에 대한 문서 및 사용법에 대한 부분이
정리가 아주 잘 되어있다. OAuth 가이드의 설명 부분도 이미지를 이용한 방식이 보기도 좋고,
(개인적 취향으로 다른 서비스들의 설명보다 보기 좋았음...)
우선 사용을 하려면 다른 서비스들과 마찬가지로 APP 등록을 해야한다.
앱 등록을 하려면 위의 화면과 같이 Drop-ins app
, Dropbox SDK app
둘중에 선택을 해야하는데, python용 SDK
사용을 위해서는 Dropbox SDK
를 사용해야 한다. 그리고 drop-ins
는 웹, 모바일앱을 위한 용도로 사용하기에 좀더
최적화 된듯 하다.
dropbox SDK
를 선택하면 접근할 폴더의 범위와 접근파일 타입의 범위를 선택하게 된다.
생성한 뒤에는 생성된 app의 setting을 해줘야 한다. OAuth2를 이용하기 위해서는 redirect 받을 경로가 필요한데
웹이 아닌 pc에서 설치형으로 사용되는 app이라면 https://localhost
를 써줘야 한다.
생성을 했으면 이제 python에서 연동을 해보자.
연동부분에 있어서는 Dropbox
의 튜토리얼을 참고했다. (참조 : dropbox 튜토리얼)
우선 pip를 이용해서 dropbox 모듈 설치
pip install dropbox
import dropbox
app_key = '당신의 key'
app_secret = '당신의 Secret'
flow = dropbox.client.DropboxOAuth2FlowNoRedirect(app_key, app_secret)
authorize_url = flow.start()
app_key
, app_secret
의 값은 생성한 앱의 setting 화면으로 들어가면 보인다.
위의 코드까지 진행을 했으면 authorize_url
에 저장된 웹사이트로 이동을 하면 해당 App의 dropbox 허용여부를
묻는 페이지가 나타난다.
허용을 하면 인증 코드가 나오는데 해당 코드를 복사해서 아래의 코드처럼 붙여넣는다.
code = '생성된 코드값'
access_token, user_id = flow.finish(code)
client = dropbox.client.DropboxClient(access_token)
생성된 코드값으로 token
과 user id
를 받게 되는데 user id
보다는 token
이 중요하다.
(user id
정도는 token
을 아용해서 얼마든지 다시 확인 가능)
여기까지 진행해서 client
객체까지 생성을 했으면 그 이후에 dropbox에 파일을 저장하거나 가져오는 등의 기능은
dropbox 문서를 이용해서 자유롭게 사용할 수 있다. [참조 링크 : Dropbox SDK document]
'IT/프로그래밍 > Python' 카테고리의 다른 글
Python에서 Dropbox SDK를 빌드할때 발생하는 bug 해결책 (0) | 2015.08.21 |
---|---|
PyCrypto를 이용해서 AES방식으로 암호화 하기 (0) | 2015.08.07 |
Python에서 I18N 적용하기 (0) | 2015.06.21 |
Python 두가지 상속 방법의 차이점 (0) | 2015.06.20 |
Mac환경에서 python으로 clipboard 값 가져오기 (0) | 2015.02.28 |