Python gửi email có chữ ký

Ngoài Microsoft Excel và PowerPoint, một công cụ văn phòng được sử dụng phổ biến khác là Outlook. Tôi nghĩ những người có kinh nghiệm làm việc sẽ quen thuộc với phần mềm Outlook. Nó được sử dụng để nhận và gửi email để liên lạc

Khởi động nhanh Google Workspace sử dụng các thư viện ứng dụng API để xử lý một số chi tiết của quy trình xác thực và ủy quyền. Chúng tôi khuyên bạn nên sử dụng các thư viện máy khách cho các ứng dụng của riêng mình. Trước khi bạn có thể chạy ứng dụng mẫu, mỗi lần bắt đầu nhanh đều yêu cầu bạn bật xác thực và ủy quyền. Nếu bạn chưa quen với việc xác thực và ủy quyền cho API Google Workspace, hãy đọc phần Tổng quan về xác thực và ủy quyền

Tạo một ứng dụng dòng lệnh Python đưa ra các yêu cầu đối với API Gmail

mục tiêu

  • Thiết lập môi trường của bạn
  • Cài đặt thư viện máy khách
  • thiết lập mẫu
  • Chạy mẫu

điều kiện tiên quyết

Để chạy khởi động nhanh này, bạn cần có các điều kiện tiên quyết sau

  • Trăn 3. 10. 7 hoặc cao hơn
  • Công cụ quản lý gói pip
  • Một dự án Google Cloud
  • Tài khoản Google đã bật Gmail

Thiết lập môi trường của bạn

Để hoàn thành phần bắt đầu nhanh này, hãy thiết lập môi trường của bạn

Kích hoạt API

Trước khi sử dụng Google API, bạn cần bật chúng trong dự án Google Cloud. Bạn có thể bật một hoặc nhiều API trong một dự án Google Cloud
  • Trong bảng điều khiển Google Cloud, hãy bật API Gmail

    Kích hoạt API

Ủy quyền thông tin đăng nhập cho một ứng dụng máy tính để bàn

Để xác thực là người dùng cuối và truy cập dữ liệu người dùng trong ứng dụng của bạn, bạn cần tạo một hoặc nhiều OAuth 2. 0 ID khách hàng. ID ứng dụng khách được sử dụng để xác định một ứng dụng cho máy chủ OAuth của Google. Nếu ứng dụng của bạn chạy trên nhiều nền tảng, bạn phải tạo ID ứng dụng khách riêng cho từng nền tảng
  1. Trong bảng điều khiển Google Cloud, đi tới Trình đơn trình đơn > API & Dịch vụ > Credentials.

    Chuyển đến Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > ID khách hàng OAuth.
  3. Nhấp vào Loại ứng dụng > Ứng dụng dành cho máy tính để bàn.
  4. Trong trường Tên, hãy nhập tên cho thông tin xác thực. Tên này chỉ được hiển thị trong bảng điều khiển Google Cloud
  5. Nhấp vào Tạo. Màn hình đã tạo ứng dụng khách OAuth xuất hiện, hiển thị ID ứng dụng khách mới và Bí mật ứng dụng khách của bạn
  6. Nhấp vào OK. Thông tin đăng nhập mới được tạo xuất hiện trong OAuth 2. 0 ID khách hàng
  7. Lưu tệp JSON đã tải xuống dưới dạng credentials.json và di chuyển tệp vào thư mục làm việc của bạn

Cài đặt thư viện khách hàng của Google

  • Cài đặt thư viện ứng dụng Google cho Python

    pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
    

Cấu hình mẫu

  1. Trong thư mục làm việc của bạn, hãy tạo một tệp có tên quickstart.py
  2. Bao gồm đoạn mã sau trong quickstart.py

    gmail/khởi động nhanh/khởi động nhanh. py

    Xem trên GitHub

    from __future__ import print_function
    
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ['//www.googleapis.com/auth/gmail.readonly']
    
    
    def main[]:
        """Shows basic usage of the Gmail API.
        Lists the user's Gmail labels.
        """
        creds = None
        # The file token.json stores the user's access and refresh tokens, and is
        # created automatically when the authorization flow completes for the first
        # time.
        if os.path.exists['token.json']:
            creds = Credentials.from_authorized_user_file['token.json', SCOPES]
        # If there are no [valid] credentials available, let the user log in.
        if not creds or not creds.valid:
            if creds and creds.expired and creds.refresh_token:
                creds.refresh[Request[]]
            else:
                flow = InstalledAppFlow.from_client_secrets_file[
                    'credentials.json', SCOPES]
                creds = flow.run_local_server[port=0]
            # Save the credentials for the next run
            with open['token.json', 'w'] as token:
                token.write[creds.to_json[]]
    
        try:
            # Call the Gmail API
            service = build['gmail', 'v1', credentials=creds]
            results = service.users[].labels[].list[userId='me'].execute[]
            labels = results.get['labels', []]
    
            if not labels:
                print['No labels found.']
                return
            print['Labels:']
            for label in labels:
                print[label['name']]
    
        except HttpError as error:
            # TODO[developer] - Handle errors from gmail API.
            print[f'An error occurred: {error}']
    
    
    if __name__ == '__main__':
        main[]

Chạy mẫu

  1. Trong thư mục làm việc của bạn, xây dựng và chạy mẫu

    python3 quickstart.py
    
  2. Lần đầu tiên bạn chạy mẫu, nó sẽ nhắc bạn cấp quyền truy cập

    1. Nếu bạn chưa đăng nhập vào Tài khoản Google của mình, bạn sẽ được nhắc đăng nhập. Nếu bạn đã đăng nhập vào nhiều tài khoản, hãy chọn một tài khoản để sử dụng để ủy quyền
    2. Nhấp vào Chấp nhận

    Thông tin ủy quyền được lưu trữ trong hệ thống tệp, vì vậy, lần sau khi bạn chạy mã mẫu, bạn sẽ không được nhắc ủy quyền

Chủ Đề