Python転職初心者向けエンジニアリングブログ

Pythonに魅了されたあなたへ。エンジニアリングの扉を開く転職初心者向けのブログへようこそ。このブログでは、Pythonの奥深さに迫りながら、エンジニアリングへの転職に役立つ情報を提供しています。未経験者から始めるPythonエンジニアリングの世界への一歩を踏み出すためのガイダンス、ベストプラクティス、そして成功事例など、初心者の方でもわかりやすいコンテンツをお届けします。

PythonとGoogle Apps Scriptの連携: システムエンジニアのための自動化ガイド

LYPプレミアム会員 python


Google Apps Scriptを使用して、PythonGoogle Workspace製品とを統合することで、効率的でスマートな業務自動化が実現できます。この記事では、PythonGoogle Apps Scriptの連携に関する具体的なコード例を交えながら、その詳細な手順を解説します。

1. Google Apps Scriptとは

Google Apps Scriptは、GmailGoogle Sheets、Google DriveなどのGoogle Workspace製品と連携してタスクの自動化を行うためのJavaScriptベースのスクリプト言語です。Pythonとの組み合わせにより、より高度な自動化が可能になります。

2. PythonからGmailを自動送信する

まずは、PythonからGoogle Apps Scriptを使用してGmailを自動送信する方法を見ていきましょう。以下はその一部です。

from google.oauth2 import service_account
from googleapiclient.discovery import build

def send_email(subject, body, to):
    credentials = service_account.Credentials.from_service_account_file(
        'path/to/your/service-account-file.json',
        scopes=['https://www.googleapis.com/auth/gmail.send']
    )
    service = build('gmail', 'v1', credentials=credentials)

    message = {
        'to': to,
        'subject': subject,
        'body': body
    }

    # Google Apps Scriptのウェブアプリエンドポイントを呼び出す
    script_url = 'https://script.google.com/macros/s/your_script_id/exec'
    response = service.users().messages().send(userId='me', body=message).execute()

    print('Email sent successfully!')

このコードでは、googleapiclientを使用してGmail APIにアクセスし、Google Apps Scriptのウェブアプリエンドポイントを呼び出しています。これにより、PythonからGmailを自動送信できます。

3. Google Sheetsとのデータ連携

次に、PythonからGoogle Apps Scriptを使用してGoogle Sheetsとデータをやり取りする例を見てみましょう。以下はその一部です。

import gspread
from google.oauth2 import service_account

def read_google_sheets(sheet_name):
    credentials = service_account.Credentials.from_service_account_file(
        'path/to/your/service-account-file.json',
        scopes=['https://www.googleapis.com/auth/spreadsheets.readonly']
    )
    gc = gspread.authorize(credentials)

    # Google Apps Scriptのウェブアプリエンドポイントを呼び出す
    script_url = 'https://script.google.com/macros/s/your_script_id/exec'
    data = gc.open(sheet_name).sheet1.get_all_values()

    return data

# Google Sheetsからデータ読み取り
sheet_data = read_google_sheets('YourSheetName')
print('Data from Google Sheets:', sheet_data)

このコードでは、gspreadライブラリを使用してPythonからGoogle Sheetsにアクセスし、Google Apps Scriptのウェブアプリエンドポイントを呼び出してデータの連携を実現しています。

4. Google Calendarとの連携

最後に、Google Calendarとの連携を行う例を紹介します。以下はその一部です。

from google.oauth2 import service_account
from googleapiclient.discovery import build
from datetime import datetime, timedelta

def create_calendar_event(summary, start_time, end_time):
    credentials = service_account.Credentials.from_service_account_file(
        'path/to/your/service-account-file.json',
        scopes=['https://www.googleapis.com/auth/calendar.events']
    )
    service = build('calendar', 'v3', credentials=credentials)

    event = {
        'summary': summary,
        'start': {
            'dateTime': start_time,
            'timeZone': 'Asia/Tokyo',
        },
        'end': {
            'dateTime': end_time,
            'timeZone': 'Asia/Tokyo',
        },
    }

    # Google Apps Scriptのウェブアプリエンドポイントを呼び出す
    script_url = 'https://script.google.com/macros/s/your_script_id/exec'
    response = service.events().insert(calendarId='primary', body=event).execute()

    print('Event created successfully!')

このコードでは、Google Calendar APIを使用してPythonからGoogle Calendarに新しいイベントを作成し、Google Apps Scriptのウェブアプリエンドポイントを呼び出しています。

まとめ

以上で、PythonGoogle Apps Scriptの連携についての基本的な手法を紹介しました。これにより、システムエンジニアPythonの強力な機能とGoogle Workspaceの便利なAPIを組み合わせ、効果的な業務自動化を実現できます。新しいスキルを身につけて、スマートで効率的な作業を実現しましょう。Happy Coding!