0.0.20250602 • Published 5 months ago

@maxim_mazurok/gapi.client.script-v1 v0.0.20250602

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

TypeScript typings for Apps Script API v1

Manages and executes Google Apps Script projects. For detailed description please check documentation.

Installing

Install typings for Apps Script API:

npm install @types/gapi.client.script-v1 --save-dev

Usage

You need to initialize Google API client in your code:

gapi.load('client', () => {
  // now we can use gapi.client
  // ...
});

Then load api client wrapper:

gapi.client.load(
  'https://script.googleapis.com/$discovery/rest?version=v1',
  () => {
    // now we can use:
    // gapi.client.script
  },
);
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
gapi.client.load('script', 'v1', () => {
  // now we can use:
  // gapi.client.script
});

Don't forget to authenticate your client before sending any request to resources:

// declare client_id registered in Google Developers Console
var client_id = '',
  scope = [
    // Read, compose, send, and permanently delete all your email from Gmail
    'https://mail.google.com/',

    // See, edit, share, and permanently delete all the calendars you can access using Google Calendar
    'https://www.google.com/calendar/feeds',

    // See, edit, download, and permanently delete your contacts
    'https://www.google.com/m8/feeds',

    // View and manage the provisioning of groups on your domain
    'https://www.googleapis.com/auth/admin.directory.group',

    // View and manage the provisioning of users on your domain
    'https://www.googleapis.com/auth/admin.directory.user',

    // See, edit, create, and delete all your Google Docs documents
    'https://www.googleapis.com/auth/documents',

    // See, edit, create, and delete all of your Google Drive files
    'https://www.googleapis.com/auth/drive',

    // View and manage your forms in Google Drive
    'https://www.googleapis.com/auth/forms',

    // View and manage forms that this application has been installed in
    'https://www.googleapis.com/auth/forms.currentonly',

    // View and manage your Google Groups
    'https://www.googleapis.com/auth/groups',

    // Create and update Google Apps Script deployments
    'https://www.googleapis.com/auth/script.deployments',

    // View Google Apps Script deployments
    'https://www.googleapis.com/auth/script.deployments.readonly',

    // View Google Apps Script project's metrics
    'https://www.googleapis.com/auth/script.metrics',

    // View Google Apps Script processes
    'https://www.googleapis.com/auth/script.processes',

    // Create and update Google Apps Script projects
    'https://www.googleapis.com/auth/script.projects',

    // View Google Apps Script projects
    'https://www.googleapis.com/auth/script.projects.readonly',

    // See, edit, create, and delete all your Google Sheets spreadsheets
    'https://www.googleapis.com/auth/spreadsheets',

    // See your primary Google Account email address
    'https://www.googleapis.com/auth/userinfo.email',
  ],
  immediate = true;
// ...

gapi.auth.authorize(
  {client_id: client_id, scope: scope, immediate: immediate},
  authResult => {
    if (authResult && !authResult.error) {
      /* handle successful authorization */
    } else {
      /* handle authorization error */
    }
  },
);

After that you can use Apps Script API resources:

/*
List information about processes made by or on behalf of a user, such as process type and current status.
*/
await gapi.client.script.processes.list({});

/*
List information about a script's executed processes, such as process type and current status.
*/
await gapi.client.script.processes.listScriptProcesses({});

/*
Creates a new, empty script project with no script files and a base manifest file.
*/
await gapi.client.script.projects.create({});

/*
Gets a script project's metadata.
*/
await gapi.client.script.projects.get({scriptId: 'scriptId'});

/*
Gets the content of the script project, including the code source and metadata for each script file.
*/
await gapi.client.script.projects.getContent({scriptId: 'scriptId'});

/*
Get metrics data for scripts, such as number of executions and active users.
*/
await gapi.client.script.projects.getMetrics({scriptId: 'scriptId'});

/*
Updates the content of the specified script project. This content is stored as the HEAD version, and is used when the script is executed as a trigger, in the script editor, in add-on preview mode, or as a web app or Apps Script API in development mode. This clears all the existing files in the project.
*/
await gapi.client.script.projects.updateContent({scriptId: 'scriptId'});

/*

*/
await gapi.client.script.scripts.run({scriptId: 'scriptId'});
0.0.20241021

12 months ago

0.0.20250526

5 months ago

0.0.20250406

7 months ago

0.0.20250401

7 months ago

0.0.20250130

9 months ago

0.0.20250414

6 months ago

0.0.20250309

8 months ago

0.0.20250427

6 months ago

0.0.20250302

8 months ago

0.0.20250317

7 months ago

0.0.20241208

11 months ago

0.0.20241103

12 months ago

0.0.20250602

5 months ago

0.0.20250210

9 months ago

0.0.20241215

10 months ago

0.0.20241110

11 months ago

0.0.20250216

8 months ago

0.0.20250504

6 months ago

0.0.20250224

8 months ago

0.0.20241117

11 months ago

0.0.20250119

9 months ago

0.0.20250113

10 months ago

0.0.20241014

1 year ago

0.0.20240923

1 year ago

0.0.20241006

1 year ago

0.0.20240901

1 year ago

0.0.20240916

1 year ago

0.0.20240913

1 year ago

0.0.20240826

1 year ago

0.0.20240804

1 year ago

0.0.20240728

1 year ago

0.0.20240602

1 year ago

0.0.20240528

1 year ago

0.0.20240721

1 year ago

0.0.20240819

1 year ago

0.0.20240617

1 year ago

0.0.20240630

1 year ago

0.0.20240708

1 year ago

0.0.20240821

1 year ago

0.0.20240623

1 year ago

0.0.20240519

1 year ago

0.0.20240718

1 year ago

0.0.20240505

1 year ago

0.0.20240429

1 year ago

0.0.20240422

2 years ago

0.0.20240401

2 years ago

0.0.20240317

2 years ago

0.0.20240310

2 years ago

0.0.20240303

2 years ago

0.0.20240225

2 years ago

0.0.20240219

2 years ago

0.0.20240212

2 years ago

0.0.20240128

2 years ago

0.0.20240122

2 years ago

0.0.20240109

2 years ago

0.0.20240108

2 years ago

0.0.20231218

2 years ago

0.0.20231203

2 years ago

0.0.20231126

2 years ago

0.0.20231029

2 years ago

0.0.20231105

2 years ago

0.0.20230807

2 years ago

0.0.20231017

2 years ago

0.0.20230925

2 years ago

0.0.20230716

2 years ago

0.0.20231012

2 years ago

0.0.20230708

2 years ago

0.0.20230828

2 years ago

0.0.20230707

2 years ago

0.0.20230821

2 years ago

0.0.20231119

2 years ago

0.0.20230903

2 years ago

0.0.20231003

2 years ago

0.0.20230618

2 years ago

0.0.20230514

2 years ago

0.0.20230611

2 years ago

0.0.20230521

2 years ago

0.0.20230429

2 years ago

0.0.20230603

2 years ago

0.0.20230527

2 years ago

0.0.20230317

3 years ago

0.0.20230417

3 years ago

0.0.20230327

3 years ago

0.0.20230424

3 years ago

0.0.20230402

3 years ago

0.0.20230309

3 years ago

0.0.20230306

3 years ago

0.0.20230206

3 years ago

0.0.20230129

3 years ago

0.0.20230220

3 years ago

0.0.20221126

3 years ago

0.0.20221115

3 years ago

0.0.20230115

3 years ago

0.0.20221220

3 years ago

0.0.20230110

3 years ago

0.0.20230124

3 years ago

0.0.20230101

3 years ago

0.0.20221106

3 years ago

0.0.20221018

3 years ago

0.0.20220925

3 years ago

0.0.20221010

3 years ago

0.0.20220916

3 years ago

0.0.20220829

3 years ago

0.0.20220819

3 years ago

0.0.20220910

3 years ago

0.0.20220812

3 years ago

0.0.20220904

3 years ago

0.0.20220806

3 years ago