Bắt đầu nhanh với Python

Hướng dẫn bắt đầu nhanh giải thích cách thiết lập và chạy một ứng dụng gọi API Google Workspace.

Trình bắt đầu nhanh của Google Workspace sử dụng 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à uỷ quyền. Bạn nên sử dụng thư viện ứng dụng cho các ứng dụng của riêng mình. Hướng dẫn bắt đầu nhanh này sử dụng phương pháp xác thực được đơn giản hoá, phù hợp với môi trường kiểm thử. Đối với môi trường phát hành chính thức, bạn nên tìm hiểu về phương thức xác thực và uỷ quyền trước khi chọn thông tin xác thực truy cập phù hợp với ứng dụng của mình.

Tạo một ứng dụng dòng lệnh Python gửi yêu cầu đến API Google Lớp học.

Mục tiêu

  • Thiết lập môi trường.
  • Cài đặt thư viện ứng dụng.
  • Thiết lập mẫu.
  • Chạy mẫu.

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

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

  • Có tài khoản Google for Education đã bật Google Lớp học.

Thiết lập môi trường

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

Bật API

Trước khi sử dụng các API của Google, bạn cần bật những API đó trong một dự án trên Google Cloud. Bạn có thể bật một hoặc nhiều API trong một dự án trên Google Cloud.
  • Trong bảng điều khiển Google Cloud, hãy bật API Google Lớp học.

    Bật API

Nếu bạn đang sử dụng một dự án mới của Google Cloud để hoàn tất thao tác bắt đầu nhanh này, hãy định cấu hình màn hình xin phép bằng OAuth và tự thêm chính bạn làm người dùng thử nghiệm. Nếu bạn đã hoàn tất bước này cho dự án trên Google Cloud, hãy chuyển sang phần tiếp theo.

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > API và dịch vụ > màn hình đồng ý OAuth.

    Chuyển đến màn hình xin phép bằng OAuth

  2. Đối với Loại người dùng, hãy chọn Nội bộ, rồi nhấp vào Tạo.
  3. Hoàn tất biểu mẫu đăng ký ứng dụng, sau đó nhấp vào Lưu và tiếp tục.
  4. Hiện tại, bạn có thể bỏ qua bước thêm phạm vi và nhấp vào Lưu và tiếp tục. Sau này, khi tạo một ứng dụng để dùng bên ngoài tổ chức Google Workspace của mình, bạn phải thay đổi Loại người dùng thành Bên ngoài, sau đó thêm phạm vi uỷ quyền mà ứng dụng của bạn yêu cầu.

  5. Xem lại tóm tắt đăng ký ứng dụng của bạn. Để chỉnh sửa, hãy nhấp vào Chỉnh sửa. Nếu quá trình đăng ký ứng dụng có vẻ ổn, hãy nhấp vào Back to Dashboard (Quay lại Trang tổng quan).

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

Để xác thực người dùng cuối và truy cập vào dữ liệu người dùng trong ứng dụng, bạn cần tạo một hoặc nhiều Mã ứng dụng khách OAuth 2.0. Mã ứng dụng khách được dùng để xác định một ứng dụng cho các 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 một mã ứng dụng khách riêng cho từng nền tảng.
  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến Trình đơn > API và dịch vụ > Thông tin xác thực.

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

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

Cài đặt thư viện ứng dụ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
    

Định cấu hình mẫu

  1. Trong thư mục đang làm việc, hãy tạo một tệp có tên quickstart.py.
  2. Đưa mã sau vào quickstart.py:

    lớp học/faststart/Quickstart.py
    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 = ["https://www.googleapis.com/auth/classroom.courses.readonly"]
    
    
    def main():
      """Shows basic usage of the Classroom API.
      Prints the names of the first 10 courses the user has access to.
      """
      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:
        service = build("classroom", "v1", credentials=creds)
    
        # Call the Classroom API
        results = service.courses().list(pageSize=10).execute()
        courses = results.get("courses", [])
    
        if not courses:
          print("No courses found.")
          return
        # Prints the names of the first 10 courses.
        print("Courses:")
        for course in courses:
          print(course["name"])
    
      except HttpError as error:
        print(f"An error occurred: {error}")
    
    
    if __name__ == "__main__":
      main()

Chạy mẫu

  1. Trong thư mục đang làm việc, hãy tạo và chạy mẫu:

    python3 quickstart.py
    
  1. Khi chạy mẫu lần đầu tiên, bạn sẽ được nhắc 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, hãy đăng nhập khi được nhắc. 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 để uỷ quyền.
    2. Nhấp vào Chấp nhận.

    Ứng dụng Python của bạn chạy và gọi API Google Lớp học.

    Thông tin uỷ quyền được lưu trữ trong hệ thống tệp, vì vậy, vào lần tiếp theo chạy mã mẫu, bạn sẽ không được nhắc uỷ quyền.

Các bước tiếp theo