Hướng dẫn bắt đầu nhanh về Python

Tạo một ứng dụng dòng lệnh Python đưa ra yêu cầu đến Google Forms API.

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 một API Google Workspace. Hướng dẫn 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 công khai, 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 đăng nhập để truy cập phù hợp với ứng dụng của bạn.

Hướng dẫn bắt đầu nhanh này sử dụng các thư viện ứng dụng API được đề xuất của Google Workspace để xử lý một số thông tin chi tiết về quy trình xác thực và uỷ quyền.

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 có 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 hướng dẫn 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 API của Google, bạn cần bật các API đó trong một 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 Google Cloud Console, hãy bật Google Biểu mẫu API.

    Bật API

Nếu bạn đang sử dụng một dự án mới trên Google Cloud để hoàn tất hướng dẫn bắt đầu nhanh này, hãy định cấu hình màn hình đồng ý OAuth. Nếu bạn đã hoàn tất bước này cho dự án trên 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 phần Trình đơn > > Thương hiệu.

    Chuyển đến phần Thương hiệu

  2. Nếu đã định cấu hình , bạn có thể định cấu hình các chế độ cài đặt sau đây cho Màn hình đồng ý OAuth trong phần Thương hiệu, Đối tượngQuyền truy cập vào dữ liệu. Nếu bạn thấy thông báo chưa được định cấu hình, hãy nhấp vào Bắt đầu:
    1. Trong phần Thông tin về ứng dụng, hãy nhập tên cho ứng dụng trong mục Tên ứng dụng.
    2. Trong phần Email hỗ trợ người dùng, hãy chọn một địa chỉ email hỗ trợ mà người dùng có thể liên hệ với bạn nếu họ có thắc mắc về sự đồng ý của mình.
    3. Nhấp vào Tiếp theo.
    4. Trong phần Đối tượng người xem, hãy chọn Nội bộ.
    5. Nhấp vào Tiếp theo.
    6. Trong phần Thông tin liên hệ, hãy nhập Địa chỉ email để bạn có thể nhận thông báo về mọi thay đổi đối với dự án của mình.
    7. Nhấp vào Tiếp theo.
    8. Trong phần Hoàn tất, hãy xem kỹ Chính sách dữ liệu người dùng của dịch vụ API của Google. Nếu bạn đồng ý, hãy chọn Tôi đồng ý với Chính sách dữ liệu người dùng của dịch vụ API của Google.
    9. Nhấp vào Tiếp tục.
    10. Nhấp vào Tạo.
  3. Hiện tại, bạn có thể bỏ qua bước thêm phạm vi. Trong tương lai, khi tạo một ứng dụng để sử dụng bên ngoài tổ chức Google Workspace, bạn phải thay đổi Loại người dùng thành Bên ngoài. Sau đó, hãy thêm các phạm vi uỷ quyền mà ứng dụng của bạn yêu cầu. Để tìm hiểu thêm, hãy xem hướng dẫn đầy đủ về cách Định cấu hình sự đồng ý của OAuth.

Uỷ quyền thông tin đăng nhập cho một ứng dụng máy tính

Để 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 của mình, bạn cần tạo một hoặc nhiều Mã ứng dụng OAuth 2.0. Mã ứng dụng khách được dùng để xác định một ứng dụng duy nhất 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ã nhận dạng ứng dụng riêng cho mỗi nền tảng.
  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > > Ứng dụng.

    Chuyển đến mục Khách hàng

  2. Nhấp vào Tạo ứng dụng.
  3. Nhấp vào Loại ứng dụng > Ứng dụng dành cho máy tính.
  4. Trong trường Name (Tên), hãy nhập tên cho thông tin đăng nhập. Tên này chỉ xuất hiện trong Google Cloud Console.
  5. Nhấp vào Tạo.

    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".

  6. Lưu tệp JSON đã tải xuống dưới dạng credentials.json rồi di chuyển tệp đó vào thư mục làm việc của bạn.

Cài đặt thư viện ứng dụng 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 làm việc, hãy tạo một tệp có tên là quickstart.py.
  2. Thêm mã sau vào quickstart.py:

    forms/quickstart/quickstart.py
    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 làm việc, hãy tạo và chạy mẫu:

    python3 quickstart.py 
  1. Khi bạn chạy mẫu lần đầu tiên, mẫu sẽ nhắc bạn uỷ quyền truy cập:
    1. Nếu bạn chưa đăng nhập vào Tài khoản Google, 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 để dùng cho việc 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 Google Forms API.

    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