Bắt đầu nhanh 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.

Tính năng 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 trong quy trình xác thực và uỷ quyền. Bạn nên sử dụng các thư viện ứng dụng cho ứng dụng của mình. Bước bắt đầu nhanh này sử dụng phương pháp xác thực đơn giản, 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ề 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 Biểu mẫu.

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 hướng dẫn bắt đầu nhanh này, bạn cần đáp ứng các điều kiện tiên quyết sau:

  • Tài khoản Google.

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 các 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 Google Cloud.
  • Trong bảng điều khiển Google Cloud, hãy bật API Google Biểu mẫu.

    Bật API

Nếu bạn đang sử dụng một dự án Google Cloud mới để hoàn thành bước bắt đầu nhanh này, hãy định cấu hình màn hình xin phép bằng OAuth rồi tự thêm 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 của mình, 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 xin phép OAuth.

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

  2. Chọn loại người dùng cho ứng dụng của bạn, sau đó 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 để sử dụng bên ngoài tổ chức Google Workspace của mình, bạn phải thêm và xác minh phạm vi uỷ quyền mà ứng dụng của bạn yêu cầu.

  5. Nếu bạn chọn Bên ngoài cho loại người dùng, hãy thêm người dùng thử nghiệm:
    1. Trong phần Người dùng thử nghiệm, hãy nhấp vào Thêm người dùng.
    2. Nhập địa chỉ email của bạn và những người dùng thử nghiệm được uỷ quyền khác, sau đó nhấp vào Save and Continue (Lưu và tiếp tục).
  6. Xem lại bản tóm tắt về quá trình đă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).

Cấp phép thông tin xác thực cho ứng dụng dành cho máy tính

Để xác thực với tư cách 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 dành cho máy tính.
  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ỉ 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 sẽ xuất hiện, cho thấy Mã ứng dụng khách và Mật khẩu ứng dụng mới của bạn.
  6. Nhấp vào OK. Thông tin đăng nhập mới tạo sẽ xuất hiện trong phần Mã ứng dụng khách OAuth 2.0.
  7. Lưu tệp JSON đã tải xuống dưới dạng credentials.json rồi di chuyển tệp này vào thư mục đang làm việc của bạn.

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:

    các biểu mẫu/Quickstart/quickstart.py
    from __future__ import print_function
    
    from apiclient import discovery
    from httplib2 import Http
    from oauth2client import client, file, tools
    
    SCOPES = "https://www.googleapis.com/auth/forms.body"
    DISCOVERY_DOC = "https://forms.googleapis.com/$discovery/rest?version=v1"
    
    store = file.Storage('token.json')
    creds = None
    if not creds or creds.invalid:
        flow = client.flow_from_clientsecrets('client_secrets.json', SCOPES)
        creds = tools.run_flow(flow, store)
    
    form_service = discovery.build('forms', 'v1', http=creds.authorize(
        Http()), discoveryServiceUrl=DISCOVERY_DOC, static_discovery=False)
    
    # Request body for creating a form
    NEW_FORM = {
        "info": {
            "title": "Quickstart form",
        }
    }
    
    # Request body to add a multiple-choice question
    NEW_QUESTION = {
        "requests": [{
            "createItem": {
                "item": {
                    "title": "In what year did the United States land a mission on the moon?",
                    "questionItem": {
                        "question": {
                            "required": True,
                            "choiceQuestion": {
                                "type": "RADIO",
                                "options": [
                                    {"value": "1965"},
                                    {"value": "1967"},
                                    {"value": "1969"},
                                    {"value": "1971"}
                                ],
                                "shuffle": True
                            }
                        }
                    },
                },
                "location": {
                    "index": 0
                }
            }
        }]
    }
    
    # Creates the initial form
    result = form_service.forms().create(body=NEW_FORM).execute()
    
    # Adds the question to the form
    question_setting = form_service.forms().batchUpdate(formId=result["formId"], body=NEW_QUESTION).execute()
    
    # Prints the result to show the question has been added
    get_result = form_service.forms().get(formId=result["formId"]).execute()
    print(get_result)
    

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
    
  2. Lần đầu tiên bạn chạy mẫu, mẫu sẽ nhắc bạn cấp quyền truy cập:

    1. Nếu chưa đăng nhập vào Tài khoản Google, 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 để uỷ quyền.
    2. Nhấp vào Chấp nhận.

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

Bạn đã tạo thành công ứng dụng Python đầu tiên gửi yêu cầu đến API Google Biểu mẫu.

Các bước tiếp theo