Для взаимодействия с Google Диском с помощью Python вы можете использовать Google Drive API. Существует несколько методов, которые можно использовать для выполнения различных операций, таких как загрузка файлов, создание папок, поиск файлов и т. д. Вот некоторые из распространенных методов с примерами кода:
- Аутентификация.
Прежде чем взаимодействовать с Google Диском, вам необходимо подтвердить подлинность своего приложения и получить учетные данные. Вот пример аутентификации с использованием учетных данных OAuth2:
import os
from google.oauth2 import service_account
from googleapiclient.discovery import build
# Path to your credentials JSON file
credentials_path = 'path/to/credentials.json'
# Load credentials
credentials = service_account.Credentials.from_service_account_file(
credentials_path, scopes=['https://www.googleapis.com/auth/drive']
)
# Create a Drive service object
drive_service = build('drive', 'v3', credentials=credentials)
- Загрузка файла.
Чтобы загрузить файл на Google Диск, вы можете использовать методcreate
службы Диска. Вот пример загрузки файла:
def upload_file(file_path, folder_id=None):
file_metadata = {'name': os.path.basename(file_path)}
if folder_id:
file_metadata['parents'] = [folder_id]
media = MediaFileUpload(file_path)
file = drive_service.files().create(
body=file_metadata,
media_body=media,
fields='id'
).execute()
print('File ID:', file.get('id'))
- Создание папки.
Чтобы создать папку на Google Диске, вы можете использовать методcreate
с соответствующим типом MIME. Вот пример:
def create_folder(folder_name, parent_folder_id=None):
folder_metadata = {
'name': folder_name,
'mimeType': 'application/vnd.google-apps.folder'
}
if parent_folder_id:
folder_metadata['parents'] = [parent_folder_id]
folder = drive_service.files().create(
body=folder_metadata,
fields='id'
).execute()
print('Folder ID:', folder.get('id'))
- Поиск файлов.
Вы можете искать файлы на Google Диске, используя методlist
и применяя фильтры. Вот пример:
def search_files(query):
results = drive_service.files().list(
q=query,
fields='files(id, name)'
).execute()
files = results.get('files', [])
if files:
print('Matching Files:')
for file in files:
print(f"{file['name']} ({file['id']})")
else:
print('No files found.')
Это всего лишь несколько способов взаимодействия с Google Диском с помощью Python. Вы можете изучить полную документацию API Google Диска, чтобы узнать больше о методах и функциях.