@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/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
+ ```