DefinitelyTyped/types/gapi.client.script/gapi.client.script-tests.ts
Alexey Bolisov 4f8a3d571b Add Google APIs typings (#19083)
* Add Google APIs typings

* [gapi.cliebt.* ] Add version as part of typings name and fix gapi.client tslint errors

* versions should not get their own folders
fixing a few typos
using /** syntax so comments show up in editors
export only actual (last) version for now

* export only actual (last) version for now

* merge namespaces and remove unnecessary namespace qualifiers

* remove namespace qualifier for gapi.client.Request from nested namespaces and change Request base interface to Promise

* disable await-promise rule

* fix collision between gapi.client.Request and Request from nested namespace
disable no-irregular-whitespace rule

* sort properties and namespace resources

* remove empty comments
sort resources amd methods in tests and readme.md

* update 'this is autogenerated file' banner to remove this text from gapi.client namespace hint
use multiline comments when comment has several lines

* implement no-trailing-whitespace, no-padding, max-line-length, await-promise, no-irregular-whitespace rules

* add strictFunctionTypes to tsconfig

* fix "Whitespace within parentheses is not allowed" rule

* fix ts-lint rules

* fixes

* remove deprecated replicapool and replicapoolupdater api

* fix no-irregular-whitespace

* fix no-irregular-whitespace
2017-10-09 14:55:04 -07:00

67 lines
3.1 KiB
TypeScript

/* This is stub file for gapi.client.{{=it.name}} definition tests */
/* IMPORTANT.
* This file was automatically generated by https://github.com/Bolisov/google-api-typings-generator. Please do not edit it manually.
* In case of any problems please post issue to https://github.com/Bolisov/google-api-typings-generator
**/
gapi.load('client', () => {
/** now we can use gapi.client */
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 */
const client_id = '<<PUT YOUR CLIENT ID HERE>>';
const scope = [
/** Read, send, delete, and manage your email */
'https://mail.google.com/',
/** Manage your calendars */
'https://www.google.com/calendar/feeds',
/** Manage 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',
/** View and manage the files in your Google Drive */
'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',
/** View and manage your spreadsheets in Google Drive */
'https://www.googleapis.com/auth/spreadsheets',
/** View your email address */
'https://www.googleapis.com/auth/userinfo.email',
];
const immediate = true;
gapi.auth.authorize({ client_id, scope, immediate }, authResult => {
if (authResult && !authResult.error) {
/** handle succesfull authorization */
run();
} else {
/** handle authorization error */
}
});
run();
});
async function run() {
/**
* 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
* &#42;&#42;File > Project properties&#42;&#42; and click the &#42;&#42;Scopes&#42;&#42; tab.
*/
await gapi.client.scripts.run({
scriptId: "scriptId",
});
}
});