Truy cập và thao tác với việc xuất bản tập lệnh cũng như trình kích hoạt. Lớp này cho phép người dùng tạo tập lệnh kích hoạt và kiểm soát việc xuất bản tập lệnh dưới dạng dịch vụ.
Thuộc tính
Thuộc tính | Loại | Mô tả |
---|---|---|
AuthMode | AuthMode | Một bản liệt kê xác định những danh mục dịch vụ được cấp phép mà Apps Script có thể thực thi thông qua một hàm được kích hoạt. |
AuthorizationStatus | AuthorizationStatus | Bảng liệt kê cho biết trạng thái uỷ quyền của một tập lệnh. |
EventType | EventType | Một bảng liệt kê cho biết loại sự kiện đã kích hoạt. |
InstallationSource | InstallationSource | Bảng liệt kê cho biết cách tập lệnh đã được cài đặt cho người dùng dưới dạng tiện ích bổ sung. |
TriggerSource | TriggerSource | Bảng liệt kê cho biết nguồn của sự kiện khiến điều kiện kích hoạt kích hoạt. |
WeekDay | Weekday | Bảng liệt kê đạ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 |
---|---|---|
deleteTrigger(trigger) | void | Xoá trình kích hoạt đã cho để trình kích hoạt này không chạy nữa. |
getAuthorizationInfo(authMode) | AuthorizationInfo | Lấy một đối tượng dùng để xác định xem người dùng có cần cho phép tập lệnh này sử dụng một hoặc dịch vụ khác và cung cấp URL cho hộp thoại uỷ quyền. |
getIdentityToken() | String | Lấy mã thông báo nhận dạng OpenID Connect cho
người dùng có hiệu lực, nếu phạm vi openid đã được cấp. |
getInstallationSource() | InstallationSource | 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ụ: cho dù người dùng tự cài đặt ứng dụng đó thông qua Cửa hàng Chrome trực tuyến Store hoặc việc quản trị viên miền đã cài đặt ứng dụng cho tất cả người dùng hay chưa). |
getOAuthToken() | String | Có quyền truy cập OAuth 2.0 mã thông báo cho người dùng hiệu quả. |
getProjectTriggers() | Trigger[] | Lấy mọi điều kiện kích hoạt có thể cài đặt được liên kết với dự án và người dùng hiện tại. |
getScriptId() | String | Lấy mã nhận dạng duy nhất của dự án tập lệnh. |
getService() | Service | Lấy một đối tượng dùng để kiểm soát việc xuất bản tập lệnh dưới dạng ứng dụng web. |
getUserTriggers(document) | Trigger[] | Lấy tất cả các điều kiện kích hoạt có thể cài đặt thuộc sở hữu của người dùng này trong tài liệu đã cho, cho tập lệnh này hoặc chỉ tiện ích bổ sung. |
getUserTriggers(form) | Trigger[] | Lấy tất cả các điều kiện kích hoạt có thể cài đặt thuộc sở hữu của người dùng này trong biểu mẫu nhất định cho tập lệnh hoặc tiện ích bổ sung này . |
getUserTriggers(spreadsheet) | Trigger[] | Lấy tất cả các điều kiện kích hoạt có thể cài đặt thuộc sở hữu của người dùng này trong bảng tính đã cho, cho tập lệnh này hoặc chỉ tiện ích bổ sung. |
invalidateAuth() | void | Vô hiệu hoá quyền uỷ quyền mà người dùng có hiệu lực phải thực thi tập lệnh hiện tại. |
newStateToken() | StateTokenBuilder | Tạo một trình tạo cho mã thông báo trạng thái có thể dùng trong API gọi lại (chẳng hạn như quy trình OAuth). |
newTrigger(functionName) | TriggerBuilder | Bắt đầu quy trình tạo một điều kiện kích hoạt có thể cài đặt mà khi được kích hoạt sẽ gọi một hàm nhất định. |
Tài liệu chi tiết
deleteTrigger(trigger)
Xoá trình kích hoạt đã cho để trình kích hoạt này không chạy nữa.
// Deletes all triggers in the current project. var triggers = ScriptApp.getProjectTriggers(); for (var i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
Tham số
Tên | Loại | Mô tả |
---|---|---|
trigger | Trigger | Điều kiện kích hoạt cần xoá. |
Ủy quyền
Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
getAuthorizationInfo(authMode)
Lấy một đối tượng dùng để xác định xem người dùng có cần cho phép tập lệnh này sử dụng một hoặc dịch vụ khác và cung cấp URL cho hộp thoại uỷ quyền. Nếu tập lệnh đã được xuất bản dưới dạng tiện ích bổ sung sử dụng điều kiện kích hoạt có thể cài đặt, nên thông tin này có thể được dùng để kiểm soát quyền truy cập vào các phần mã mà người dùng thiếu các thông tin cần thiết uỷ quyền. Ngoài ra, tiện ích bổ sung có thể yêu cầu người dùng mở URL để được cấp quyền để giải quyết sự cố.
var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); status = authInfo.getAuthorizationStatus(); url = authInfo.getAuthorizationUrl();
Tham số
Tên | Loại | Mô tả |
---|---|---|
authMode | AuthMode | chế độ uỷ quyền yêu cầu thông tin uỷ quyền; inch
trong hầu hết mọi trường hợp, giá trị cho authMode sẽ là ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) 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
AuthorizationInfo
– 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
getIdentityToken()
Lấy mã thông báo nhận dạng OpenID Connect cho
người dùng có hiệu lực, nếu phạm vi openid
đã được cấp. Không bao gồm phạm vi này
theo mặc định và bạn phải thêm phạm vi đó dưới dạng phạm vi rõ ràng trong tệp kê khai.
để yêu cầu tệp đó. Bao gồm các phạm vi https://www.googleapis.com/auth/userinfo.email
hoặc https://www.googleapis.com/auth/userinfo.profile
để trả về các phạm vi bổ sung
thông tin người dùng trong mã thông báo.
Mã thông báo mã nhận dạng được trả về là một Mã thông báo web JSON (JWT) được mã hoá và mã đó phải được giải mã để trích xuất thông tin từ đó. Các ví dụ sau đây minh hoạ cách giải mã mã thông báo và trích xuất mã hồ sơ trên Google của người dùng có hiệu lực.
var idToken = ScriptApp.getIdentityToken(); var body = idToken.split('.')[1]; var decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString(); var payload = JSON.parse(decoded); var profileId = payload.sub; Logger.log('Profile ID: ' + profileId);Xem OpenID Connect tài liệu về danh sách đầy đủ các trường (thông báo xác nhận quyền sở hữu) được trả về.
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
.
getInstallationSource()
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ụ: cho dù người dùng tự cài đặt ứng dụng đó thông qua Cửa hàng Chrome trực tuyến Store hoặc việc quản trị viên miền đã cài đặt ứng dụng cho tất cả người dùng hay chưa).
Cầu thủ trả bóng
InstallationSource
– Nguồn cài đặt.
getOAuthToken()
Có quyền truy cập OAuth 2.0 mã thông báo cho người dùng hiệu quả. Nếu phạm vi OAuth của tập lệnh đủ để cho phép một API khác của Google thường yêu cầu luồng OAuth riêng (như Google phép), các tập lệnh có thể bỏ qua đoạn mã lời nhắc uỷ quyền thứ hai bằng cách chuyể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 (a tối thiểu vài phút); các tập lệnh sẽ xử lý 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 đang cần. Phạm vi đã được cho phép trước đó nhưng không còn được tập lệnh sử dụng không được đưa vào mã thông báo được trả về. Trường hợp cần thêm phạm vi OAuth ngoài phạm vi của tập lệnh yêu cầu, chúng có thể được chỉ định trong phần mở rộng của tập lệnh tệp kê khai.
Cầu thủ trả bóng
String
– Một chuỗi đại diện cho mã thông báo OAuth 2.0.
getProjectTriggers()
Lấy mọi điều kiện kích hoạt có thể cài đặt được liên kết với dự án 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 gồm 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
Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
getScriptId()
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ì
. Mã này có thể dùng ở tất cả địa điểm
nơi khoá dự án đã được cung cấp trước đó.getProjectKey()
Cầu thủ trả bóng
String
— Mã của dự án tập lệnh.
getService()
Lấy một đối tượng dùng để kiểm soát việc xuất bản tập lệnh dưới dạng ứng dụng web.
// Get the URL of the published web app. var 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 xuất bản tập lệnh dưới dạng ứng dụng web.
getUserTriggers(document)
Lấy tất cả các điều kiện kích hoạt có thể cài đặt thuộc sở hữu của người dùng này trong tài liệu đã cho, cho tập lệnh này hoặc chỉ tiện ích bổ sung. Không thể sử dụng phương pháp này để xem các điều kiện kích hoạt được đính kèm vào các tập lệnh khác.
var doc = DocumentApp.getActiveDocument(); var triggers = ScriptApp.getUserTriggers(doc); // Log the handler function for the first trigger in the array. Logger.log(triggers[0].getHandlerFunction());
Tham 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 loạt điều kiện 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
Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(form)
Lấy tất cả các điều kiện kích hoạt có thể cài đặt thuộc sở hữu của người dùng này trong biểu mẫu nhất định cho tập lệnh hoặc tiện ích bổ sung này . Không thể sử dụng phương pháp này để xem các điều kiện kích hoạt được đính kèm vào các tập lệnh khác.
var form = FormApp.getActiveForm(); var triggers = ScriptApp.getUserTriggers(form); // Log the trigger source for the first trigger in the array. Logger.log(triggers[0].getTriggerSource());
Tham số
Tên | Loại | Mô tả |
---|---|---|
form | Form | Tệp Google Biểu mẫu có thể chứa các điều kiện kích hoạt có thể cài đặt. |
Cầu thủ trả bóng
Trigger[]
– Một loạt điều kiện kích hoạt do người dùng này sở hữu ở dạng nhất định.
Ủy quyền
Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(spreadsheet)
Lấy tất cả các điều kiện kích hoạt có thể cài đặt thuộc sở hữu của người dùng này trong bảng tính đã cho, cho tập lệnh này hoặc chỉ tiện ích bổ sung. Không thể sử dụng phương pháp này để xem các điều kiện kích hoạt được đính kèm vào các tập lệnh khác.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var triggers = ScriptApp.getUserTriggers(ss); // Log the event type for the first trigger in the array. Logger.log(triggers[0].getEventType());
Tham số
Tên | Loại | Mô tả |
---|---|---|
spreadsheet | Spreadsheet | Tệp Google Trang tính có thể chứa các điều kiện kích hoạt có thể cài đặt. |
Cầu thủ trả bóng
Trigger[]
— Một loạt điều kiện kích hoạt thuộc sở hữu của người dùng này trong bảng tính đã cho.
Ủy quyền
Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp
invalidateAuth()
Vô hiệu hoá quyền uỷ quyền mà người dùng có hiệu lực phải thực thi tập lệnh hiện tại. Dùng để vô hiệu hoá mọi quyền đối với 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. Do các hàm cấp quyền một lần chỉ có thể được gọi là lần chạy đầu tiên sau khi tập lệnh đã được uỷ quyền, nếu bạn muốn thực hiện một hành động sau đó, bạn phải thu hồi mọi quyền mà tập lệnh có để người dùng có thể thấy hộp thoại uỷ quyền lại.
ScriptApp.invalidateAuth();
Gửi
Error
– khi không vô hiệu hoá được
newStateToken()
Tạo một trình tạo cho mã thông báo trạng thái có thể dùng trong API gọi lại (chẳng hạn như quy trình 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. var scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; var urlSuffix = '/usercallback?state='; var stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
Trong hầu hết các quy trình OAuth2, mã thông báo state
được chuyển đến điểm cuối uỷ quyền
trực tiếp (không phải là một phần của URL gọi lại) và điểm cuối uỷ quyền sau đó truyền dưới dạng
của URL gọi lại.
Ví dụ:
- Tập lệnh chuyển hướng người dùng đến URL ủy 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 cho phép 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/...
) khiến trình duyệt gửi đến/usercallback
. Lệnh này sẽ gọi phương thức doStateTokenBuilder.withMethod(method)
chỉ định.
Cầu thủ trả bóng
StateTokenBuilder
– Một đối tượng dùng để tiếp tục quá trình tạo mã thông báo trạng thái.
newTrigger(functionName)
Bắt đầu quy trình tạo một điều kiện kích hoạt có thể cài đặt mà khi được kích hoạt 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();
Tham số
Tên | Loại | Mô tả |
---|---|---|
functionName | String | Hàm gọi khi điều kiện kích hoạt kích hoạt. Bạn có thể sử dụng các hàm từ
các thư viện đi kèm, chẳng hạn như Library.libFunction1 . |
Cầu thủ trả bóng
TriggerBuilder
– Một đối tượng dùng để tiếp tục quá trình tạo điều kiện kích hoạt.
Ủy quyền
Tập lệnh sử dụng phương thức này yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:
-
https://www.googleapis.com/auth/script.scriptapp