일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 서평단
- Linux
- matplotlib
- Python
- 서평
- Ga
- MySQL
- 매틀랩
- 블로그
- 월간결산
- Blog
- 리눅스
- SQL
- MATLAB
- 파이썬 시각화
- Visualization
- 시각화
- 파이썬
- 통계학
- 티스토리
- tensorflow
- Google Analytics
- python visualization
- 텐서플로
- Tistory
- 딥러닝
- 독후감
- Pandas
- 한빛미디어서평단
- 한빛미디어
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] python을 사용한 Google Drive 에 파일 업로드 본문
[PYTHON] python을 사용한 Google Drive 에 파일 업로드
pbj0812 2020. 2. 13. 00:250. 목표
- 원하는 파일을 구글 드라이브 특정 폴더에 업로드
1. 준비
1) 샘플 파일 준비
- hellow.txt 라는 이름으로 된 파일 준비
2) google api 설정
(1) 링크 접속
(2) 계속
(3) 사용자 인증 정보로 이동
(4) 호출 위치 선택 이후 '어떤 사용자 정보가 필요한가요?' 클릭
(5) 동의 화면 설정
(6) 외부 -> 만들기
- 내부는 G-suite 사용자만 사용가능
(7) 어플리케이션 이름 설정 후 계속 확인
(8) 사용자 인증 정보 -> 사용자 인증 정보 만들기
(9) OAuth 클라이언트 ID 클릭
(10) 기타 -> 생성
(11) OAuth 클라이언트 ID 맨 오른쪽 다운로드
3) 실험 폴더 준비
(1) 원하는 이름으로 지정
(2) 폴더 ID 확인
- 위 파란 줄 친 부분이 폴더 ID
2. 코드 작성
- python 사용(jupyter notebook 이용시 에러 발생)
- 참고 코드 수정(폴더 지정부분 삽입)하여 작성
- 실행시 수정 필요 부분
1) 인증 정보 : 1 2) (11) 결과로 얻은 json 경로
2) 업로드 대상 파일 : 1의 1)의 hellow.txt 경로
3) 폴더 아이디 : 1 3) (2)의 폴더 ID
4) 업로드 이후 파일명 : 구글 드라이브에 2)를 올렸을 때의 파일 명
from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
try :
import argparse
flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
except ImportError:
flags = None
SCOPES = 'https://www.googleapis.com/auth/drive.file'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
print("make new storage data file ")
flow = client.flow_from_clientsecrets('인증 정보', SCOPES)
creds = tools.run_flow(flow, store, flags) if flags else tools.run(flow, store)
DRIVE = build('drive', 'v3', http=creds.authorize(Http()))
FILES = (
('업로드 대상 파일'),
)
folder_id = '폴더 아이디'
for file_title in FILES :
file_name = file_title
metadata = {'name': '업로드 이후 파일명',
'parents' : [folder_id],
'mimeType': None
}
res = DRIVE.files().create(body=metadata, media_body=file_name).execute()
if res:
print('Uploaded "%s" (%s)' % (file_name, res['mimeType']))
3. 실행 결과
- 처음에 권한 필요하다는 화면이 발생하며 확인을 눌러준다. -> 위의 storage.json 파일 생성(주의)
- storage.json 파일 생성 이후 실행 하였을 시에는 권한 설정 문구가 뜨지 않음.
4. 참고
1) 참고 코드
2) 참고 코드2
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] OpenCV를 활용한 나만의 기생충 포스터 만들기 (0) | 2020.02.15 |
---|---|
[PYTHON] OpenCV로 민아누나 안경 씌우기 (0) | 2020.02.14 |
[PYTHON] flask + pymysql로 mysql 정보 호출 및 웹 표출 (4) | 2020.02.06 |
[Python] pymysql을 사용한 mysql 자료 추출 (0) | 2020.02.04 |
[Python] selenium 크롤러 제작 및 구글 스프레드 시트에 넣기 (2) | 2020.01.16 |