Người dùng của bạn có đang sử dụng Lớp học với Google Meet không? Hãy tham khảo bài viết hướng dẫn nhanh về Apps Script để biết cách điểm danh học viên trong các khóa học của Google Meet.

Bắt đầu nhanh Python

Hoàn tất các bước được mô tả trong phần còn lại của trang này để tạo một ứng dụng dòng lệnh Python đơn giản giúp thực hiện các yêu cầu đến API Lớp học.

Đ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 đây:

  • Python 2.6 trở lên.
  • Công cụ quản lý gói pip
  • Một dự án Google Cloud Platform đã bật API. Để tạo một dự án và bật API, hãy tham khảo bài viết Tạo dự án và bật API
  • Thông tin cấp phép của ứng dụng dành cho máy tính. Để tìm hiểu cách tạo thông tin đăng nhập cho ứng dụng dành cho máy tính, hãy tham khảo bài viết Tạo thông tin đăng nhập.

  • Một tài khoản G Suite cho Giáo dục đã bật Google Lớp học.

Bước 1: Cài đặt thư viện ứng dụng Google

Để cài đặt thư viện ứng dụng Google cho Python, hãy chạy lệnh sau:

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

Để biết các tùy chọn cài đặt thay thế, hãy tham khảo phần Cài đặt trong thư viện Python.

Bước 2: Định cấu hình mẫu

Để đị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. Bao gồm mã sau trong quickstart.py:

    lớp học/quickstart/quickstart.py
    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 = ['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('An error occurred: %s' % error)
    
    
    if __name__ == '__main__':
        main()

Bước 3: Chạy mẫu

Cách chạy mẫu:

  1. Từ dòng lệnh, hãy thực thi lệnh sau:

    python quickstart.py
    
  2. (không bắt buộc). Nếu đây là lần đầu tiên bạn chạy mẫu, thì mẫu sẽ mở ra một cửa sổ mới nhắc bạn ủy quyền truy cập vào dữ liệu của bạn:

    1. Nếu 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 đăng nhập vào nhiều Tài khoản Google, bạn sẽ được yêu cầu chọn một tài khoản để sử dụng cho việc ủy quyền.
    1. Nhấp vào Chấp nhận. Ứng dụng đã được cấp quyền truy cập vào dữ liệu của bạn.
  3. Mẫu sẽ thực thi.

Nếu bạn gặp vấn đề, hãy tham khảo mục Khắc phục vấn đề mẫu.

Khắc phục sự cố mẫu

Phần này mô tả một số vấn đề phổ biến mà bạn có thể gặp phải trong quá trình tìm cách bắt đầu nhanh này và đề xuất các giải pháp có thể áp dụng.

AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'

Lỗi này có thể xảy ra trong Mac Vulkan, trong đó quá trình cài đặt mặc định của mô-đun six (phần phụ thuộc của thư viện Python) được tải trước khi SDK được cài đặt. Để khắc phục sự cố này, hãy thêm vị trí cài đặt của pip vào biến môi trường hệ thống PYTHONPATH:

  1. Xác định vị trí cài đặt pip bằng lệnh sau:

    pip show six | grep "Location:" | cut -d " " -f2
    
  2. Thêm dòng sau vào tệp ~/.bashrc của bạn, thay thế <pip_install_path> bằng giá trị được xác định ở trên:

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>
    
  3. Tải lại tệp ~/.bashrc trong mọi cửa sổ thiết bị đầu cuối đang mở bằng cách sử dụng lệnh sau:

    source ~/.bashrc
    

TypeError: sequence item 0: expected str instance, bytes found

Lỗi này do lỗi trong httplib2. Để giải quyết vấn đề này, hãy nâng cấp phiên bản mới nhất của httplib2 bằng lệnh sau:

pip install --upgrade httplib2

Cannot uninstall 'six'

Khi chạy lệnh pip install, bạn có thể gặp lỗi sau:

"Không thể gỡ cài đặt 'six#39; Đây là một dự án bị loại bỏ và do đó, chúng tôi không thể xác định chính xác những tệp nào thuộc về dự án đó và chỉ dẫn đến việc gỡ cài đặt một phần;"

Lỗi này xảy ra trên Mac BigQuery khi pip cố gắng nâng cấp gói six được cài đặt sẵn. Để giải quyết vấn đề này, hãy thêm cờ --ignore-installed six vào lệnh pip install được liệt kê ở bước 2.

This app isn't verified

Nếu màn hình xin phép bằng OAuth sẽ hiển thị cảnh báo "Ứng dụng này chưa được xác minh&" ứng dụng của bạn đang yêu cầu các phạm vi cung cấp quyền truy cập vào dữ liệu nhạy cảm của người dùng. Nếu ứng dụng của bạn sử dụng phạm vi nhạy cảm, ứng dụng của bạn phải trải qua quy trình xác minh để xóa cảnh báo đó và các giới hạn khác. Trong giai đoạn phát triển, bạn có thể tiếp tục vượt qua cảnh báo này bằng cách chọn Advanced > Chuyển đến {Project Name}(không an toàn).

File not found error for credentials.json

Khi chạy mẫu, bạn có thể nhận được tệp không tìm thấy hoặc không có lỗi nào như vậy liên quan đến info.json.

Lỗi này xảy ra khi bạn chưa ủy quyền thông tin đăng nhập của ứng dụng dành cho máy tính để bàn như được nêu chi tiết trong phần Điều kiện tiên quyết ở trên. Để tìm hiểu cách tạo thông tin xác thực cho ứng dụng dành cho máy tính, hãy chuyển đến phần Tạo thông tin xác thực.

Sau khi bạn tạo thông tin xác thực, hãy đảm bảo tệp JSON đã tải xuống được lưu dưới dạng credentials.json. Sau đó, di chuyển tệp tới thư mục làm việc của bạn bằng phần còn lại của mã bắt đầu nhanh mẫu.

Tài liệu đọc thêm

Để biết thêm thông tin về các API được sử dụng trong quy trình bắt đầu nhanh này, hãy tham khảo nội dung sau: