Truy cập và thao tác với tính năng phát hành tập lệnh và trình kích hoạt. Lớp này cho phép người dùng tạo trình kích hoạt tập lệnh và kiểm soát việc phát hành tập lệnh dưới dạng dịch vụ.
Thuộc tính
Thuộc tính | Loại | Mô tả |
---|---|---|
Auth | Auth | Một enum xác định những danh mục dịch vụ được uỷ quyền mà Apps Script có thể thực thi thông qua một hàm được kích hoạt. |
Authorization | Authorization | Một tập hợp liệt kê cho biết trạng thái uỷ quyền của một tập lệnh. |
Event | Event | Một enum biểu thị loại sự kiện được kích hoạt. |
Installation | Installation | Một liệt kê cho biết cách cài đặt tập lệnh cho người dùng dưới dạng tiện ích bổ sung. |
Trigger | Trigger | Một enum biểu thị nguồn của sự kiện kích hoạt điều kiện kích hoạt. |
Week | Weekday | Một enum đại diện cho các ngày trong tuần. |
Phương thức
Phương thức | Loại dữ liệu trả về | Mô tả ngắn |
---|---|---|
delete | void | Xoá điều kiện kích hoạt đã cho để điều kiện kích hoạt đó không còn chạy nữa. |
get | Authorization | Lấy một đối tượng kiểm tra xem người dùng đã cấp quyền cho tất cả các yêu cầu về tập lệnh hay chưa. |
get | Authorization | Lấy một đối tượng kiểm tra xem người dùng đã cấp quyền cho các phạm vi được yêu cầu hay chưa. |
get | String | Nhận mã thông báo danh tính Openopenid đã được cấp. |
get | Installation | Trả về một giá trị enum cho biết cách tập lệnh được cài đặt dưới dạng tiện ích bổ sung cho người dùng hiện tại (ví dụ: liệu người dùng có tự cài đặt tập lệnh đó thông qua Cửa hàng Chrome trực tuyến hay không, hoặc liệu quản trị viên miền có cài đặt tập lệnh đó cho tất cả người dùng hay không). |
get | String | Lấy mã truy cập OAuth 2.0 cho người dùng hợp lệ. |
get | Trigger[] | Lấy tất cả các trình kích hoạt có thể cài đặt được liên kết với dự án hiện tại và người dùng hiện tại. |
get | String | Lấy mã nhận dạng duy nhất của dự án tập lệnh. |
get | Service | Lấy một đối tượng dùng để kiểm soát việc phát hành tập lệnh dưới dạng ứng dụng web. |
get | Trigger[] | Lấy tất cả trình kích hoạt có thể cài đặt mà người dùng này sở hữu trong tài liệu đã cho, chỉ dành cho tập lệnh hoặc tiện ích bổ sung này. |
get | Trigger[] | Lấy tất cả các trình kích hoạt có thể cài đặt mà người dùng này sở hữu ở dạng đã cho, chỉ dành cho tập lệnh hoặc tiện ích bổ sung này. |
get | Trigger[] | Lấy tất cả trình kích hoạt có thể cài đặt mà người dùng này sở hữu trong bảng tính đã cho, chỉ dành cho tập lệnh hoặc tiện ích bổ sung này. |
invalidate | void | Làm mất hiệu lực quyền uỷ quyền mà người dùng hợp lệ có để thực thi tập lệnh hiện tại. |
new | State | Tạo một trình tạo cho mã thông báo trạng thái có thể được dùng trong API gọi lại (chẳng hạn như luồng OAuth). |
new | Trigger | Bắt đầu quá trình tạo một trình kích hoạt có thể cài đặt. Khi được kích hoạt, trình kích hoạt này sẽ gọi một hàm nhất định. |
require | void | Xác thực xem người dùng đã đồng ý cho tất cả các phạm vi mà tập lệnh yêu cầu hay chưa. |
require | void | Xác thực xem người dùng đã đồng ý với các phạm vi được yêu cầu hay chưa. |
Tài liệu chi tiết
delete Trigger(trigger)
Xoá điều kiện kích hoạt đã cho để điều kiện kích hoạt đó không còn chạy nữa.
// Deletes all triggers in the current project. const triggers = ScriptApp.getProjectTriggers(); for (let i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Thông số
Tên | Loại | Mô tả |
---|---|---|
trigger | Trigger | Điều kiện kích hoạt để xoá. |
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
get Authorization Info(authMode)
Lấy một đối tượng kiểm tra xem người dùng đã cấp quyền cho tất cả các yêu cầu về tập lệnh hay chưa. Đối tượng này cũng cung cấp một URL uỷ quyền để người dùng cấp các quyền đó, trong trường hợp bất kỳ yêu cầu nào về tập lệnh không được uỷ quyền.
Một số quá trình thực thi tập lệnh có thể bắt đầu mà không cần người dùng đồng ý với tất cả các phạm vi bắt buộc mà tập lệnh sử dụng. Thông tin trong đối tượng này cho phép bạn kiểm soát quyền truy cập vào các phần mã yêu cầu một số phạm vi nhất định và yêu cầu uỷ quyền cho các phạm vi đó cho các lần thực thi tiếp theo.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Thông số
Tên | Loại | Mô tả |
---|---|---|
auth | Auth | Chế độ uỷ quyền mà thông tin uỷ quyền được yêu cầu; trong hầu hết các trường hợp, giá trị của auth phải là Script , vì không có chế độ uỷ quyền nào khác yêu cầu người dùng cấp quyền. |
Cầu thủ trả bóng
Authorization
– Một đối tượng có thể cung cấp thông tin về trạng thái uỷ quyền của người dùng.
get Authorization Info(authMode, oAuthScopes)
Lấy một đối tượng kiểm tra xem người dùng đã cấp quyền cho các phạm vi được yêu cầu hay chưa. Đối tượng này cũng cung cấp một URL uỷ quyền để người dùng cấp các quyền đó, trong trường hợp bất kỳ phạm vi nào được yêu cầu không được uỷ quyền.
Một số quá trình thực thi tập lệnh có thể bắt đầu mà không cần người dùng đồng ý với tất cả các phạm vi bắt buộc mà tập lệnh sử dụng. Thông tin trong đối tượng này cho phép bạn kiểm soát quyền truy cập vào các phần mã yêu cầu một số phạm vi nhất định và yêu cầu uỷ quyền cho các phạm vi đó cho các lần thực thi tiếp theo. Các phạm vi không hợp lệ hoặc không bắt buộc theo tập lệnh sẽ dẫn đến lỗi.
const authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]); const status = authInfo.getAuthorizationStatus(); const url = authInfo.getAuthorizationUrl();
Thông số
Tên | Loại | Mô tả |
---|---|---|
auth | Auth | Chế độ uỷ quyền mà thông tin uỷ quyền được yêu cầu; trong hầu hết các trường hợp, giá trị của auth phải là Script , vì không có chế độ uỷ quyền nào khác yêu cầu người dùng cấp quyền uỷ quyền. |
oAuthScopes | String[] | Phạm vi OAuth mà thông tin uỷ quyền được yêu cầu. |
Cầu thủ trả bóng
Authorization
– Một đối tượng cung cấp thông tin về trạng thái uỷ quyền của người dùng và một URL uỷ quyền trong trường hợp thiếu một số sự đồng ý.
get Identity Token()
Nhận mã thông báo danh tính Openopenid
đã được cấp. Phạm vi này không được đưa vào theo mặc định và bạn phải thêm phạm vi này dưới dạng phạm vi rõ ràng trong tệp kê khai để yêu cầu. Thêm các phạm vi https://www.googleapis.com/auth/userinfo.email
hoặc https://www.googleapis.com/auth/userinfo.profile
để trả về thêm thông tin người dùng trong mã thông báo.
Mã thông báo nhận dạng được trả về là một Mã thông báo web JSON (JWT) đã mã hoá và bạn phải giải mã mã thông báo này để trích xuất thông tin. Các ví dụ sau đây cho biết cách giải mã mã thông báo và trích xuất mã hồ sơ Google của người dùng hiệu quả.
const idToken = ScriptApp.getIdentityToken(); const body = idToken.split('.')[1]; const decoded = Utilities .newBlob( Utilities.base64Decode(body), ) .getDataAsString(); const payload = JSON.parse(decoded); Logger.log(`Profile ID: ${payload.sub}`);
Cầu thủ trả bóng
String
– Mã thông báo nhận dạng (nếu có); nếu không thì null
.
get Installation Source()
Trả về một giá trị enum cho biết cách tập lệnh được cài đặt dưới dạng tiện ích bổ sung cho người dùng hiện tại (ví dụ: liệu người dùng có tự cài đặt tập lệnh đó thông qua Cửa hàng Chrome trực tuyến hay không, hoặc liệu quản trị viên miền có cài đặt tập lệnh đó cho tất cả người dùng hay không).
Cầu thủ trả bóng
Installation
– Nguồn cài đặt.
get OAuth Token()
Lấy mã truy cập OAuth 2.0 cho người dùng hợp lệ. Nếu phạm vi OAuth của tập lệnh đủ để uỷ quyền cho một API khác của Google thường yêu cầu luồng OAuth riêng (chẳng hạn như Google Picker), thì tập lệnh có thể bỏ qua lời nhắc uỷ quyền thứ hai bằng cách truyền mã thông báo này. Mã thông báo sẽ hết hạn sau một khoảng thời gian (tối thiểu là vài phút); các tập lệnh sẽ xử lý các lỗi uỷ quyền và gọi phương thức này để lấy mã thông báo mới khi cần.
Mã thông báo do phương thức này trả về chỉ bao gồm các phạm vi mà tập lệnh hiện cần. Các phạm vi đã được uỷ quyền trước đó nhưng không còn được tập lệnh sử dụng sẽ không có trong mã thông báo được trả về. Nếu cần thêm phạm vi OAuth ngoài phạm vi mà chính tập lệnh yêu cầu, bạn có thể chỉ định các phạm vi đó trong tệp kê khai của tập lệnh.
Cầu thủ trả bóng
String
– Biểu thị chuỗi của mã thông báo OAuth 2.0.
get Project Triggers()
Lấy tất cả các trình kích hoạt có thể cài đặt được liên kết với dự án hiện tại và người dùng hiện tại.
Logger.log( `Current project has ${ScriptApp.getProjectTriggers().length} triggers.`, );
Cầu thủ trả bóng
Trigger[]
– Một mảng các điều kiện kích hoạt của người dùng hiện tại được liên kết với dự án này.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
get Script Id()
Lấy mã nhận dạng duy nhất của dự án tập lệnh. Đây là phương thức ưu tiên để lấy giá trị nhận dạng duy nhất cho dự án tập lệnh thay vì
. Bạn có thể sử dụng mã nhận dạng này ở mọi nơi mà trước đây bạn đã cung cấp khoá dự án.get
Cầu thủ trả bóng
String
– Mã của dự án tập lệnh.
get Service()
Lấy một đối tượng dùng để kiểm soát việc phát hành tập lệnh dưới dạng ứng dụng web.
// Get the URL of the published web app. const url = ScriptApp.getService().getUrl();
Cầu thủ trả bóng
Service
– Một đối tượng dùng để quan sát và kiểm soát việc phát hành tập lệnh dưới dạng ứng dụng web.
get User Triggers(document)
Lấy tất cả trình kích hoạt có thể cài đặt mà người dùng này sở hữu trong tài liệu đã cho, chỉ dành cho tập lệnh hoặc tiện ích bổ sung này. Bạn không thể sử dụng phương thức này để xem các trình kích hoạt được đính kèm vào các tập lệnh khác.
const doc = DocumentApp.getActiveDocument(); const triggers = ScriptApp.getUserTriggers(doc); // Log the handler function for the first trigger in the array. Logger.log(triggers[0].getHandlerFunction());
Thông số
Tên | Loại | Mô tả |
---|---|---|
document | Document | Tệp Google Tài liệu có thể chứa các trình kích hoạt có thể cài đặt. |
Cầu thủ trả bóng
Trigger[]
– Một mảng các trình kích hoạt do người dùng này sở hữu trong tài liệu nhất định.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(form)
Lấy tất cả các trình kích hoạt có thể cài đặt mà người dùng này sở hữu ở dạng đã cho, chỉ dành cho tập lệnh hoặc tiện ích bổ sung này. Bạn không thể sử dụng phương thức này để xem các trình kích hoạt được đính kèm vào các tập lệnh khác.
const form = FormApp.getActiveForm(); const triggers = ScriptApp.getUserTriggers(form); // Log the trigger source for the first trigger in the array. Logger.log(triggers[0].getTriggerSource());
Thông số
Tên | Loại | Mô tả |
---|---|---|
form | Form | Tệp Google Biểu mẫu có thể chứa các trình kích hoạt có thể cài đặt. |
Cầu thủ trả bóng
Trigger[]
– Một mảng các trình kích hoạt do người dùng này sở hữu trong biểu mẫu nhất định.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
get User Triggers(spreadsheet)
Lấy tất cả trình kích hoạt có thể cài đặt mà người dùng này sở hữu trong bảng tính đã cho, chỉ dành cho tập lệnh hoặc tiện ích bổ sung này. Bạn không thể sử dụng phương thức này để xem các trình kích hoạt được đính kèm vào các tập lệnh khác.
const ss = SpreadsheetApp.getActiveSpreadsheet(); const triggers = ScriptApp.getUserTriggers(ss); // Log the event type for the first trigger in the array. Logger.log(triggers[0].getEventType());
Thông số
Tên | Loại | Mô tả |
---|---|---|
spreadsheet | Spreadsheet | Tệp Google Trang tính có thể chứa các trình kích hoạt có thể cài đặt. |
Cầu thủ trả bóng
Trigger[]
– Một mảng các trình kích hoạt do người dùng này sở hữu trong bảng tính nhất định.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
invalidate Auth()
Làm mất hiệu lực quyền uỷ quyền mà người dùng hợp lệ có để thực thi tập lệnh hiện tại. Dùng để vô hiệu hoá mọi quyền cho tập lệnh hiện tại. Điều này đặc biệt hữu ích đối với các hàm được gắn thẻ là uỷ quyền một lần. Vì các hàm uỷ quyền một lần chỉ có thể được gọi trong lần chạy đầu tiên sau khi tập lệnh đã được uỷ quyền, nên nếu muốn thực hiện một hành động sau đó, bạn phải thu hồi mọi quyền uỷ quyền mà tập lệnh đã có để người dùng có thể thấy lại hộp thoại uỷ quyền.
ScriptApp .invalidateAuth();
Gửi
Error
– khi không huỷ hiệu lực được
new State Token()
Tạo một trình tạo cho mã thông báo trạng thái có thể được dùng trong API gọi lại (chẳng hạn như luồng OAuth).
// Generate a callback URL, given the name of a callback function. The script // does not need to be published as a web app; the /usercallback URL suffix // replaces /edit in any script's URL. function getCallbackURL(callbackFunction) { // IMPORTANT: Replace string below with the URL from your script, minus the // /edit at the end. const scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; const urlSuffix = '/usercallback?state='; const stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
Trong hầu hết các luồng OAuth2, mã thông báo state
được truyền trực tiếp đến điểm cuối uỷ quyền (không phải là một phần của URL gọi lại), sau đó điểm cuối uỷ quyền sẽ truyền mã thông báo đó dưới dạng một phần của URL gọi lại.
Ví dụ:
- Tập lệnh chuyển hướng người dùng đến URL uỷ quyền OAuth2:
https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
- Người dùng nhấp vào uỷ quyền và trang uỷ quyền OAuth2 sẽ chuyển hướng người dùng trở lại
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
- Lệnh chuyển hướng ở trên (quay lại
http://script.google.com/...
) sẽ khiến trình duyệt yêu cầu/usercallback
, lệnh này sẽ gọi phương thức doState
chỉ định.Token Builder.withMethod(method)
Cầu thủ trả bóng
State
– Một đối tượng dùng để tiếp tục quy trình tạo mã thông báo trạng thái.
new Trigger(functionName)
Bắt đầu quá trình tạo một trình kích hoạt có thể cài đặt. Khi được kích hoạt, trình kích hoạt này sẽ gọi một hàm nhất định.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
Thông số
Tên | Loại | Mô tả |
---|---|---|
function | String | Hàm cần gọi khi điều kiện kích hoạt được kích hoạt. Bạn có thể sử dụng các hàm từ thư viện đi kèm, chẳng hạn như Library.libFunction1 . |
Cầu thủ trả bóng
Trigger
– Một đối tượng dùng để tiếp tục quy trình tạo điều kiện kích hoạt.
Ủy quyền
Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
require All Scopes(authMode)
Xác thực xem người dùng đã đồng ý cho tất cả các phạm vi mà tập lệnh yêu cầu hay chưa. Sử dụng phương thức này nếu luồng thực thi dựa vào tất cả các phạm vi mà tập lệnh yêu cầu. Nếu thiếu bất kỳ sự đồng ý nào, phương thức này sẽ kết thúc quá trình thực thi hiện tại và hiển thị lời nhắc uỷ quyền để yêu cầu sự đồng ý còn thiếu.
Phương thức này chỉ hoạt động khi người dùng chạy tập lệnh từ một nền tảng hỗ trợ sự đồng ý chi tiết, chẳng hạn như từ trong IDE Apps Script. Khi tập lệnh được chạy mà thiếu sự đồng ý từ một nền tảng không được hỗ trợ, chẳng hạn như tiện ích bổ sung Google Workspace, tập lệnh sẽ hiển thị lời nhắc uỷ quyền khi bắt đầu thực thi để yêu cầu tất cả các phạm vi.
ScriptApp .requireAllScopes(ScriptApp.AuthMode.FULL);
Thông số
Tên | Loại | Mô tả |
---|---|---|
auth | Auth | Chế độ uỷ quyền cần đánh giá phạm vi tập lệnh, trong hầu hết các trường hợp, giá trị của auth phải là Script , vì không có chế độ uỷ quyền nào khác yêu cầu người dùng cấp quyền uỷ quyền. |
require Scopes(authMode, oAuthScopes)
Xác thực xem người dùng đã đồng ý với các phạm vi được yêu cầu hay chưa. Sử dụng phương thức này nếu một luồng thực thi dựa vào một hoặc nhiều dịch vụ. Nếu thiếu bất kỳ sự đồng ý nào được chỉ định, thì phương thức này sẽ kết thúc quá trình thực thi hiện tại và hiển thị lời nhắc uỷ quyền để yêu cầu sự đồng ý còn thiếu. Các phạm vi không hợp lệ hoặc không bắt buộc theo tập lệnh sẽ dẫn đến lỗi.
Phương thức này chỉ hoạt động khi người dùng chạy tập lệnh từ một nền tảng hỗ trợ sự đồng ý chi tiết, chẳng hạn như từ bên trong IDE Apps Script. Khi tập lệnh được chạy mà thiếu sự đồng ý từ một nền tảng không được hỗ trợ, chẳng hạn như tiện ích bổ sung Google Workspace, tập lệnh sẽ hiển thị lời nhắc uỷ quyền khi bắt đầu thực thi để yêu cầu tất cả các phạm vi.
ScriptApp .requireScopes(ScriptApp.AuthMode.FULL, [ 'https://www.googleapis.com/auth/documents', 'https://www.googleapis.com/auth/presentations', ]);
Thông số
Tên | Loại | Mô tả |
---|---|---|
auth | Auth | Chế độ uỷ quyền cần được đánh giá cho các phạm vi được yêu cầu, trong hầu hết các trường hợp, giá trị của auth phải là Script , vì không có chế độ uỷ quyền nào khác yêu cầu người dùng cấp quyền. |
oAuthScopes | String[] | Các phạm vi OAuth cần thiết để hoàn tất luồng thực thi nhất định. |