@maxim_mazurok/gapi.client.forms-v1 0.0.20220808
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +900 -0
- package/package.json +20 -0
- package/readme.md +98 -0
- package/tests.ts +1053 -0
- package/tsconfig.json +18 -0
- package/tslint.json +6 -0
package/package.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@maxim_mazurok/gapi.client.forms-v1",
|
|
3
|
+
"version": "0.0.20220808",
|
|
4
|
+
"description": "TypeScript typings for Google Forms API v1",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": {
|
|
7
|
+
"email": "maxim@mazurok.com",
|
|
8
|
+
"name": "Maxim Mazurok",
|
|
9
|
+
"url": "https://maxim.mazurok.com"
|
|
10
|
+
},
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git"
|
|
14
|
+
},
|
|
15
|
+
"types": "index.d.ts",
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"@types/gapi.client": "*",
|
|
18
|
+
"@types/gapi.client.discovery": "*"
|
|
19
|
+
}
|
|
20
|
+
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# TypeScript typings for Google Forms API v1
|
|
2
|
+
|
|
3
|
+
Reads and writes Google Forms and responses.
|
|
4
|
+
For detailed description please check [documentation](https://developers.google.com/forms/api).
|
|
5
|
+
|
|
6
|
+
## Installing
|
|
7
|
+
|
|
8
|
+
Install typings for Google Forms API:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
npm install @types/gapi.client.forms-v1 --save-dev
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
You need to initialize Google API client in your code:
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
gapi.load('client', () => {
|
|
20
|
+
// now we can use gapi.client
|
|
21
|
+
// ...
|
|
22
|
+
});
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Then load api client wrapper:
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
gapi.client.load('https://forms.googleapis.com/$discovery/rest?version=v1', () => {
|
|
29
|
+
// now we can use:
|
|
30
|
+
// gapi.client.forms
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
|
|
36
|
+
gapi.client.load('forms', 'v1', () => {
|
|
37
|
+
// now we can use:
|
|
38
|
+
// gapi.client.forms
|
|
39
|
+
});
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Don't forget to authenticate your client before sending any request to resources:
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
// declare client_id registered in Google Developers Console
|
|
46
|
+
var client_id = '',
|
|
47
|
+
scope = [
|
|
48
|
+
// See, edit, create, and delete all of your Google Drive files
|
|
49
|
+
'https://www.googleapis.com/auth/drive',
|
|
50
|
+
|
|
51
|
+
// See, edit, create, and delete only the specific Google Drive files you use with this app
|
|
52
|
+
'https://www.googleapis.com/auth/drive.file',
|
|
53
|
+
|
|
54
|
+
// See and download all your Google Drive files
|
|
55
|
+
'https://www.googleapis.com/auth/drive.readonly',
|
|
56
|
+
|
|
57
|
+
// See, edit, create, and delete all your Google Forms forms
|
|
58
|
+
'https://www.googleapis.com/auth/forms.body',
|
|
59
|
+
|
|
60
|
+
// See all your Google Forms forms
|
|
61
|
+
'https://www.googleapis.com/auth/forms.body.readonly',
|
|
62
|
+
|
|
63
|
+
// See all responses to your Google Forms forms
|
|
64
|
+
'https://www.googleapis.com/auth/forms.responses.readonly',
|
|
65
|
+
],
|
|
66
|
+
immediate = true;
|
|
67
|
+
// ...
|
|
68
|
+
|
|
69
|
+
gapi.auth.authorize(
|
|
70
|
+
{ client_id: client_id, scope: scope, immediate: immediate },
|
|
71
|
+
authResult => {
|
|
72
|
+
if (authResult && !authResult.error) {
|
|
73
|
+
/* handle successful authorization */
|
|
74
|
+
} else {
|
|
75
|
+
/* handle authorization error */
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
After that you can use Google Forms API resources: <!-- TODO: make this work for multiple namespaces -->
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
|
|
84
|
+
/*
|
|
85
|
+
Change the form with a batch of updates.
|
|
86
|
+
*/
|
|
87
|
+
await gapi.client.forms.forms.batchUpdate({ formId: "formId", });
|
|
88
|
+
|
|
89
|
+
/*
|
|
90
|
+
Create a new form using the title given in the provided form message in the request. *Important:* Only the form.info.title and form.info.document_title fields are copied to the new form. All other fields including the form description, items and settings are disallowed. To create a new form and add items, you must first call forms.create to create an empty form with a title and (optional) document title, and then call forms.update to add the items.
|
|
91
|
+
*/
|
|
92
|
+
await gapi.client.forms.forms.create({ });
|
|
93
|
+
|
|
94
|
+
/*
|
|
95
|
+
Get a form.
|
|
96
|
+
*/
|
|
97
|
+
await gapi.client.forms.forms.get({ formId: "formId", });
|
|
98
|
+
```
|