"use strict"; /** * Copyright 2015 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* jshint maxlen: false */ const apirequest_1 = require("../../lib/apirequest"); /** * Google Apps Script Execution API * * Executes functions in Google Apps Script projects. * * @example * const google = require('googleapis'); * const script = google.script('v1'); * * @namespace script * @type {Function} * @version v1 * @variation v1 * @param {object=} options Options for Script */ function Script(options) { const self = this; self._options = options || {}; self.scripts = { /** * script.scripts.run * * @desc Runs a function in an Apps Script project. The project must be deployed for use with the Apps Script Execution API. This method requires authorization with an OAuth 2.0 token that includes at least one of the scopes listed in the [Authorization](#authorization) section; script projects that do not require authorization cannot be executed through this API. To find the correct scopes to include in the authentication token, open the project in the script editor, then select **File > Project properties** and click the **Scopes** tab. * * @alias script.scripts.run * @memberOf! script(v1) * * @param {object} params Parameters for request * @param {string} params.scriptId The script ID of the script to be executed. To find the script ID, open the project in the script editor and select **File > Project properties**. * @param {script(v1).ExecutionRequest} params.resource Request body data * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ run: function (params, options, callback) { if (typeof options === 'function') { callback = options; options = {}; } options || (options = {}); const rootUrl = options.rootUrl || 'https://script.googleapis.com/'; const parameters = { options: Object.assign({ url: (rootUrl + '/v1/scripts/{scriptId}:run').replace(/([^:]\/)\/+/g, '$1'), method: 'POST' }, options), params: params, requiredParams: ['scriptId'], pathParams: ['scriptId'], context: self }; return apirequest_1.default(parameters, callback); } }; } module.exports = Script; //# sourceMappingURL=v1.js.map