run method
Runs a function in an Apps Script project.
The script project must be deployed for use with the Apps Script API and
the calling application must share the same Cloud Platform project. This
method requires authorization with an OAuth 2.0 token that includes at
least one of the scopes listed in the
[Authorization](#authorization-scopes) 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 script
project Overview page and scroll down to "Project OAuth Scopes." The
error 403, PERMISSION_DENIED: The caller does not have permission
indicates that the Cloud Platform project used to authorize the request is
not the same as the one used by the script.
request
- The metadata request object.
Request parameters:
scriptId
- The script ID of the script to be executed. Find the script
ID on the Project settings page under "IDs." As multiple executable
APIs can be deployed in new IDE for same script, this field should be
populated with DeploymentID generated while deploying in new IDE instead
of script ID.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a Operation.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<Operation> run(
ExecutionRequest request,
core.String scriptId, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v1/scripts/' + commons.escapeVariable('$scriptId') + ':run';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Operation.fromJson(response_ as core.Map<core.String, core.dynamic>);
}