Class ScriptApp

ScriptApp

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ínhLoạiMô tả
AuthModeAuthModeMộ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.
AuthorizationStatusAuthorizationStatusBảng liệt kê cho biết trạng thái uỷ quyền của một tập lệnh.
EventTypeEventTypeMột bảng liệt kê cho biết loại sự kiện đã kích hoạt.
InstallationSourceInstallationSourceBả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.
TriggerSourceTriggerSourceBả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.
WeekDayWeekdayBảng liệt kê đại diện cho các ngày trong tuần.

Phương thức

Phương thứcLoại dữ liệu trả vềMô tả ngắn
deleteTrigger(trigger)voidXoá trình kích hoạt đã cho để trình kích hoạt này không chạy nữa.
getAuthorizationInfo(authMode)AuthorizationInfoLấ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()StringLấ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()InstallationSourceTrả 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()Stringquyề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()StringLấy mã nhận dạng duy nhất của dự án tập lệnh.
getService()ServiceLấ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()voidVô 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()StateTokenBuilderTạ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)TriggerBuilderBắ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ênLoạiMô tả
triggerTriggerĐ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ênLoạiMô tả
authModeAuthModechế độ 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()

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ì getProjectKey(). Mã này có thể dùng ở tất cả địa điểm nơi khoá dự án đã được cung cấp trước đó.

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ênLoạiMô tả
documentDocumentTệ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ênLoạiMô tả
formFormTệ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ênLoạiMô tả
spreadsheetSpreadsheetTệ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 do StateTokenBuilder.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ênLoạiMô tả
functionNameStringHà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

Các phương thức ngừng hoạt động