Python을 사용하여 Google 드라이브에 파일 업로드

Abid Ullah 2024년2월15일 Python Python Upload
  1. Python을 사용하여 Google 드라이브에 파일 업로드
  2. Google 드라이브에 파일을 업로드하기 위한 Python 코드
Python을 사용하여 Google 드라이브에 파일 업로드

이 기사에서는 Python을 사용하여 Google 드라이브에 파일을 업로드하는 방법을 설명합니다. 이를 달성하기 위해 Google 드라이브 API를 사용할 것입니다.

따라서 Google 개발자 콘솔로 이동하여 새 프로젝트를 만듭니다. 5~10초 또는 몇 분이 걸릴 수도 있습니다.

Python을 사용하여 Google 드라이브에 파일 업로드

Python은 다양한 용도로 사용할 수 있는 많은 기능과 라이브러리가 있기 때문에 널리 사용되는 프로그래밍 언어입니다. Google 드라이브에 파일을 업로드하는 기능은 서비스 중 하나입니다.

Google 드라이브에 파일을 업로드해야 하는 몇 가지 시나리오가 있습니다. 예를 들어 컴퓨터에 문제가 발생하면 파일을 다른 사람과 공유하거나 백업 복사본을 만들 수 있습니다.

동기가 무엇이든 Python을 사용하여 Google 드라이브에 파일을 업로드하는 것은 간단한 과정입니다. 다음 단락에서는 작업을 수행하는 방법을 보여줍니다.

시작하기 전에 몇 가지를 준비해야 합니다. 먼저 각 컴퓨터에 Python이 미리 설치되어 있어야 합니다.

아직 설치하지 않은 경우 Python 웹 사이트에서 다운로드할 수 있습니다.

다음으로 Google 드라이브에 액세스하려면 먼저 Gmail 계정이 필요합니다. 우리 각자가 Gmail을 사용한다고 가정하겠습니다. 시작하겠습니다.

1단계: Google API 플레이그라운드

Google을 검색하면 Google API Playground에 대한 자세한 정보를 찾을 수 있습니다. 더 나아가려면 첫 번째 링크를 클릭해야 합니다.

Google api 플레이그라운드 검색

첫 번째 링크를 선택하면 자동으로 다음 페이지로 이동합니다.

Google 개발자로 리디렉션

2단계: Google 드라이브 API

Google 개발자 페이지에서 다른 옵션 중에서 드라이브 API로 가는 길을 찾아야 합니다.

드라이브 API 3 옵션을 검색하여 선택합니다. 선택하면 링크 목록이 우리 앞에 나타납니다.

Drive api v3 검색 중

링크 목록에 있는 첫 번째 링크를 선택해야 합니다. 무엇이든 선택하려면 먼저 클릭해야 합니다. 그러면 그 옆에 체크 표시가 나타납니다.

여기에서 첫 번째 링크를 클릭하겠습니다.

Authorize api 클릭

약 3~5초 정도 기다리면 Gmail 계정으로 리디렉션됩니다.

3단계: Gmail 계정

파일을 드라이브에 업로드하려는 Gmail 계정을 클릭한 다음 화면의 지시를 따릅니다. 화면에 취소허용의 두 가지 옵션이 표시됩니다.

계속하려면 드롭다운 메뉴에서 허용을 선택해야 합니다. Google 계정을 클릭하면 Google Auth가 작업을 허용할지 묻습니다.

Gmail 계정 허용

4단계: 인증 코드

마침내 포기하고 허용 버튼을 클릭하면 권한 코드를 검색할 수 있는 새 페이지로 리디렉션됩니다.

코드 인증

반면에 인증 코드가 필요하지 않기 때문에 복사하지 않습니다. 대신 인증 코드를 거래하는 버튼을 클릭하여 토큰에 액세스합니다.

교환 승인 코드 클릭

버튼을 클릭하면 액세스 토큰을 얻을 수 있습니다.

액세스 토큰

Python 코드에서 작업하는 동안 액세스 토큰의 복사본을 만들어 안전한 곳에 저장해야 합니다. Python을 사용하여 Google 드라이브에 파일을 쉽게 업로드할 수 있으며 액세스 토큰이 필요합니다.

Google 드라이브에 파일을 업로드하기 위한 Python 코드

1단계: 라이브러리

먼저 필요한 라이브러리와 모듈을 가져옵니다. 이 경우 JSON요청을 가져와야 합니다.

우리는 파일 업로드를 위해 JSON을 사용하고 파일을 업로드할 수 있도록 API를 요청하기 위해 요청을 사용합니다.

예제 코드:

import json
import requests

2단계: 액세스 토큰

둘째, 사전을 만들고 액세스 토큰을 해당 키 중 하나의 값으로 사용합니다. 이 시나리오에서 인증은 키이고 액세스 토큰은 값입니다.

예제 코드:

headers = {"Authorization": "Bearer Paste your access token here"}

Bearer 뒤에 공백만 있는 액세스 토큰을 복사하여 붙여넣을 수 있습니다.

3단계: 파일 이름

이제 다른 사전을 만들고 업로드하려는 파일에 이름을 지정할 수 있습니다.

예제 코드:

para = {
    "name": "##name for python uploaded file####",
}

4단계: 경로

이제 업로드하려는 파일에 액세스해야 합니다. 이를 위해 파일의 경로를 제공해야 합니다.

Python은 경로를 따라 파일에 도달하여 파일을 엽니다.

예제 코드:

files = {
    "data": ("metadata", json.dumps(para), "application/json; charset=UTF-8"),
    "file": open("Pythonfile.jpg", "rb"),
}

5단계: 요청

이제 Python의 requests 모듈을 사용하여 Google 드라이브 API에 파일 업로드를 요청합니다.

예제 코드:

r = requests.post(
    "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart",
    headers=headers,
    files=files,
)

6단계: 인쇄

이제 위의 모든 단계를 코드 실행과 결합합니다. 궁극적으로 print 문을 사용하여 코드가 작동하는지 확인합니다.

예제 코드:

import json
import requests

headers = {"Authorization": "Bearer Paste your access token here"}
para = {
    "name": "##name for python uploaded file####",
}
files = {
    "data": ("metadata", json.dumps(para), "application/json; charset=UTF-8"),
    "file": open("Pythonfile.jpg", "rb"),
}
r = requests.post(
    "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart",
    headers=headers,
    files=files,
)
print(r.text)

출력:

{
 "kind": "drive#file",
 "id": "1Furfhe8BFbkEhXn1xcYPr8jYAACNpfV7p",
 "name": "##python uploaded image####",
 "mimeType": "image/jpeg"
}

오류 없이 이 출력을 얻으면 코드가 올바르게 작동하고 업로드하려는 파일을 Google 드라이브에 업로드해야 합니다.

7단계: 확인

Google 드라이브로 이동하여 파일이 업로드되었는지 확인할 수 있습니다. 언급된 단계에 따라 파일이 드라이브에 업로드될 것이라고 100% 확신합니다.

이제 Python을 사용하여 Google 드라이브에 파일을 업로드할 수 있습니다. 이 절차를 설정하는 것은 쉽고 몇 분이면 충분합니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
작가: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn