Để giúp người tạo biểu mẫu kiểm soát chặt chẽ hơn những người có thể trả lời, chúng tôi sẽ ra mắt chế độ kiểm soát chi tiết cho người trả lời. Theo mặc định, những biểu mẫu được tạo bằng API sau ngày 31 tháng 3 năm 2026 sẽ ở trạng thái chưa được xuất bản. Để tìm hiểu thêm, hãy xem bài viết Các thay đổi về API đối với Google Biểu mẫu.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Việc thiết lập một dự án Apps Script để gọi trực tiếp API Google Biểu mẫu thông qua lệnh gọi REST rất đơn giản. Giả sử bạn đã định cấu hình một dự án trên Google Cloud, hãy làm như sau:
Tạo một dự án Apps Script mới.
Thay đổi số dự án Google Cloud được liên kết để khớp với dự án bạn đã bật cho API Google Forms.
Chỉnh sửa tệp kê khai (appsscript.json) để thêm các phạm vi OAuth cần thiết.
Thêm mã Apps Script để tìm nạp mã thông báo OAuth và thực hiện lệnh gọi REST bằng mã thông báo đó.
Dưới đây là hướng dẫn nhanh về các bước này.
Tạo và định cấu hình dự án Apps Script mới
Sử dụng cùng một mã Google mà bạn đã định cấu hình dự án GCP,
hãy chuyển đến
Trang tổng quan về Apps Script,
rồi nhấp vào Dự án mới.
Sau khi mở dự án, hãy nhấp vào settings Project Settings (Cài đặt dự án).
Chọn hộp đánh dấu Hiện tệp kê khai "appsscript.json" trong trình chỉnh sửa.
Trong mục Dự án Google Cloud Platform (GCP), hãy nhấp vào Thay đổi dự án rồi nhập số dự án GCP mà bạn đã định cấu hình cho API Biểu mẫu.
Dự án Apps Script của bạn hiện đã được định cấu hình để truy cập vào API Google Forms. Bước bắt buộc tiếp theo là thêm các phạm vi OAuth thích hợp.
Thêm phạm vi OAuth
Để tạo mã thông báo OAuth có phạm vi phù hợp trong Apps Script, bạn cần đặt các phạm vi bắt buộc trong tệp kê khai của dự án.
Trong trình chỉnh sửa, hãy mở appsscript.json.
Thêm các phạm vi vào phần nội dung của tệp kê khai.
Nhấp vào save Lưu dự án và sửa mọi lỗi cú pháp nếu cần. Giờ đây, dự án của bạn có thể gọi API Google Biểu mẫu thông qua lệnh gọi REST.
Thêm mã Apps Script để gọi API
Trước khi viết mã để gọi một biểu mẫu, bạn cần xác định một biểu mẫu mà bạn sở hữu có các câu trả lời và ghi lại mã biểu mẫu của biểu mẫu đó. Bạn có thể tìm thấy mã biểu mẫu trong URL khi chỉnh sửa biểu mẫu:
https://docs.google.com/forms/d/<FORM_ID>/edit
Để gọi API, bạn sẽ sử dụng lệnh gọi UrlFetchApp của Apps Script.
[null,null,["Cập nhật lần gần đây nhất: 2025-04-09 UTC."],[],["To use the Google Forms API via REST calls in Apps Script: first, create a new Apps Script project and link it to your Google Cloud project enabled for the Forms API. Then, edit the `appsscript.json` manifest file to include required OAuth scopes, such as `script.external_request` and `forms.responses.readonly`. Finally, use `UrlFetchApp` in your Apps Script code to call the API, getting an OAuth token with `ScriptApp.getOAuthToken()` and a form ID. Run and authorize the script to see API responses.\n"],null,["# Set up an Apps Script project\n\nSetting up an Apps Script project to call the Google Forms API directly through a\nREST call is straightforward. Assuming you have already configured a\nGoogle Cloud project, do the following:\n\n1. Create a new Apps Script project.\n2. Change the associated Google Cloud project number to match the project you enabled for the Google Forms API.\n3. Edit the Manifest file (`appsscript.json`) to add the necessary OAuth scopes.\n4. Add Apps Script code to fetch an OAuth token and make a REST call using the token.\n\nHere's a quick walkthrough of these steps.\n\nCreate and configure a new Apps Script project\n----------------------------------------------\n\n1. Using the same Google ID that you configured your GCP project with, go to the [Apps Script Dashboard](https://script.google.com), then click **New project**.\n2. Once your project is open, click settings Project Settings.\n3. Select the **Show \"appsscript.json\" manifest file in editor** checkbox.\n4. In the **Google Cloud Platform (GCP) Project** section, click **Change\n project** and enter the GCP project number that you configured for the Forms API.\n\nYour Apps Script project is now configured to access the Google Forms API. The next\nrequired step is to add the proper OAuth scopes.\n\nAdd OAuth scopes\n----------------\n\nTo generate a properly scoped OAuth token in Apps Script, you need to set the\nrequired scopes in the project's manifest file.\n\n1. In the editor, open `appsscript.json`.\n2. Add the scopes to the body of the manifest.\n\n **Note:** Each API method has its own specific OAuth scope requirements ([example](/workspace/forms/api/reference/rest/v1/forms/get#authorization-scopes)). You only need to include scopes for the methods you use. For instance, if you only plan to fetch form responses, you only need `forms.responses.readonly`. The `script.external_request` scope is required to allow Apps Script to call an external REST service. \n\n {\n ...\n \"oauthScopes\": [\n \"https://www.googleapis.com/auth/script.external_request\",\n \"https://www.googleapis.com/auth/drive\",\n \"https://www.googleapis.com/auth/drive.readonly\",\n \"https://www.googleapis.com/auth/forms.body\",\n \"https://www.googleapis.com/auth/forms.body.readonly\",\n \"https://www.googleapis.com/auth/forms.responses.readonly\"\n ],\n ...\n }\n\n3. Click save Save project and correct\n any syntax errors if needed. Your project should now be able to call the\n Google Forms API via a REST call.\n\nAdd Apps Script code to call the API\n------------------------------------\n\nBefore writing the code to call a form, you need to identify a form that you\nown that has responses and take note of its form ID. The form ID can be found\nin the URL when editing the form:\n\n`https://docs.google.com/forms/d/\u003cFORM_ID\u003e/edit`\n\nTo call the API, you will use an Apps Script `UrlFetchApp` call.\n\n1. Open **Code.gs** and add the following code:\n\n forms-api/snippets/retrieve_all_responses.gs \n [View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/forms-api/snippets/retrieve_all_responses.gs) \n\n ```javascript\n function callFormsAPI() {\n console.log('Calling the Forms API!');\n var formId = '\u003cYOUR_FORM_ID\u003e';\n\n // Get OAuth Token\n var OAuthToken = ScriptApp.getOAuthToken();\n console.log('OAuth token is: ' + OAuthToken);\n var formsAPIUrl = 'https://forms.googleapis.com/v1/forms/' + formId + '/' + 'responses';\n console.log('formsAPIUrl is: ' + formsAPIUrl);\n var options = {\n 'headers': {\n Authorization: 'Bearer ' + OAuthToken,\n Accept: 'application/json'\n },\n 'method': 'get'\n }; \n var response = UrlFetchApp.fetch(formsAPIUrl, options);\n console.log('Response from forms.responses was: ' + response);\n }\n ```\n2. Replace `YOUR_FORM_ID` with the value that you noted earlier.\n\n Example: `var formId = 'tL5ygBC8zpbTnTp76JCZdIg80hA-cnpbTnTjnsewCKJH';`\n3. Click save **Save project** and correct\n any syntax errors if needed.\n\nTest the code\n-------------\n\n1. Click play_arrow **Run**.\n2. Authorize the project as needed using the same Google ID as before.\n\nOnce it starts, you should see a response in the **Execution log** similar to\nthis: \n\n```\nExecution started\nCalling the Forms API!\nOAuth token is: ya29.a0ARrdaM8IMjtlv…\nformsAPIUrl is: https://forms.googleapis.com/v1beta/forms/…/responses\nResponse from Forms.responses was: {\n\"responses\": [\n {\n \"responseId\":\"...\",\n \"createTime\": \"2021-03-25T01:23:58.146Z\",\n \"lastSubmittedTime\": \"2021-03-25T01:23:58.146607Z\",\n \"answers\": {\n \"1e9b0ead\": {\n \"questionId\": \"1e9b0ead\",\n \"textAnswers\": {\n \"answers\": [\n {\n \"value\": \"Red\"\n }\n ]\n }\n },\n \"773ed8f3\": {\n \"questionId\": \"773ed8f3\",\n \"textAnswers\": {\n \"answers\": [\n {\n \"value\": \"Tesla\"\n }\n ]\n }\n }\n }\n }\n ]\n}\nExecution completed\n```\n\nNext steps\n----------\n\nOnce you've successfully called the API with Apps Script, consult the\n[reference documentation](/workspace/forms/api/reference/rest) and experiment\nwith making other calls to the API."]]