@maxim_mazurok/gapi.client.meet-v2 0.0.20240616

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.
Files changed (3) hide show
  1. package/index.d.ts +764 -0
  2. package/package.json +20 -0
  3. package/readme.md +104 -0
package/index.d.ts ADDED
@@ -0,0 +1,764 @@
1
+ /* Type definitions for non-npm package Google Meet API v2 0.0 */
2
+ // Project: https://developers.google.com/meet/api
3
+ // Definitions by: Maxim Mazurok <https://github.com/Maxim-Mazurok>
4
+ // Nick Amoscato <https://github.com/namoscato>
5
+ // Declan Vong <https://github.com/declanvong>
6
+ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
7
+
8
+ // IMPORTANT
9
+ // This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually.
10
+ // In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator
11
+ // Generated from: https://meet.googleapis.com/$discovery/rest?version=v2
12
+ // Revision: 20240616
13
+
14
+ /// <reference types="gapi.client" />
15
+
16
+ declare namespace gapi.client {
17
+ /** Load Google Meet API v2 */
18
+ function load(
19
+ urlOrObject: 'https://meet.googleapis.com/$discovery/rest?version=v2'
20
+ ): Promise<void>;
21
+ /** @deprecated Please load APIs with discovery documents. */
22
+ function load(name: 'meet', version: 'v2'): Promise<void>;
23
+ /** @deprecated Please load APIs with discovery documents. */
24
+ function load(name: 'meet', version: 'v2', callback: () => any): void;
25
+
26
+ namespace meet {
27
+ interface ActiveConference {
28
+ /** Output only. Reference to 'ConferenceRecord' resource. Format: `conferenceRecords/{conference_record}` where `{conference_record}` is a unique ID for each instance of a call within a space. */
29
+ conferenceRecord?: string;
30
+ }
31
+ interface AnonymousUser {
32
+ /** Output only. User provided name when they join a conference anonymously. */
33
+ displayName?: string;
34
+ }
35
+ interface ConferenceRecord {
36
+ /** Output only. Timestamp when the conference ended. Set for past conferences. Unset if the conference is ongoing. */
37
+ endTime?: string;
38
+ /** Output only. Server enforced expiration time for when this conference record resource is deleted. The resource is deleted 30 days after the conference ends. */
39
+ expireTime?: string;
40
+ /** Identifier. Resource name of the conference record. Format: `conferenceRecords/{conference_record}` where `{conference_record}` is a unique ID for each instance of a call within a space. */
41
+ name?: string;
42
+ /** Output only. The space where the conference was held. */
43
+ space?: string;
44
+ /** Output only. Timestamp when the conference started. Always set. */
45
+ startTime?: string;
46
+ }
47
+ interface DocsDestination {
48
+ /** Output only. The document ID for the underlying Google Docs transcript file. For example, "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use the `documents.get` method of the Google Docs API (https://developers.google.com/docs/api/reference/rest/v1/documents/get) to fetch the content. */
49
+ document?: string;
50
+ /** Output only. URI for the Google Docs transcript file. Use `https://docs.google.com/document/d/{$DocumentId}/view` to browse the transcript in the browser. */
51
+ exportUri?: string;
52
+ }
53
+ interface DriveDestination {
54
+ /** Output only. Link used to play back the recording file in the browser. For example, `https://drive.google.com/file/d/{$fileId}/view`. */
55
+ exportUri?: string;
56
+ /** Output only. The `fileId` for the underlying MP4 file. For example, "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use `$ GET https://www.googleapis.com/drive/v3/files/{$fileId}?alt=media` to download the blob. For more information, see https://developers.google.com/drive/api/v3/reference/files/get. */
57
+ file?: string;
58
+ }
59
+ interface Empty {}
60
+ interface EndActiveConferenceRequest {}
61
+ interface ListConferenceRecordsResponse {
62
+ /** List of conferences in one page. */
63
+ conferenceRecords?: ConferenceRecord[];
64
+ /** Token to be circulated back for further List call if current List does NOT include all the Conferences. Unset if all conferences have been returned. */
65
+ nextPageToken?: string;
66
+ }
67
+ interface ListParticipantSessionsResponse {
68
+ /** Token to be circulated back for further List call if current List doesn't include all the participants. Unset if all participants are returned. */
69
+ nextPageToken?: string;
70
+ /** List of participants in one page. */
71
+ participantSessions?: ParticipantSession[];
72
+ }
73
+ interface ListParticipantsResponse {
74
+ /** Token to be circulated back for further List call if current List doesn't include all the participants. Unset if all participants are returned. */
75
+ nextPageToken?: string;
76
+ /** List of participants in one page. */
77
+ participants?: Participant[];
78
+ /** Total, exact number of `participants`. By default, this field isn't included in the response. Set the field mask in [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters) to receive this field in the response. */
79
+ totalSize?: number;
80
+ }
81
+ interface ListRecordingsResponse {
82
+ /** Token to be circulated back for further List call if current List doesn't include all the recordings. Unset if all recordings are returned. */
83
+ nextPageToken?: string;
84
+ /** List of recordings in one page. */
85
+ recordings?: Recording[];
86
+ }
87
+ interface ListTranscriptEntriesResponse {
88
+ /** Token to be circulated back for further List call if current List doesn't include all the transcript entries. Unset if all entries are returned. */
89
+ nextPageToken?: string;
90
+ /** List of TranscriptEntries in one page. */
91
+ transcriptEntries?: TranscriptEntry[];
92
+ }
93
+ interface ListTranscriptsResponse {
94
+ /** Token to be circulated back for further List call if current List doesn't include all the transcripts. Unset if all transcripts are returned. */
95
+ nextPageToken?: string;
96
+ /** List of transcripts in one page. */
97
+ transcripts?: Transcript[];
98
+ }
99
+ interface Participant {
100
+ /** Anonymous user. */
101
+ anonymousUser?: AnonymousUser;
102
+ /** Output only. Time when the participant first joined the meeting. */
103
+ earliestStartTime?: string;
104
+ /** Output only. Time when the participant left the meeting for the last time. This can be null if it's an active meeting. */
105
+ latestEndTime?: string;
106
+ /** Output only. Resource name of the participant. Format: `conferenceRecords/{conference_record}/participants/{participant}` */
107
+ name?: string;
108
+ /** User calling from their phone. */
109
+ phoneUser?: PhoneUser;
110
+ /** Signed-in user. */
111
+ signedinUser?: SignedinUser;
112
+ }
113
+ interface ParticipantSession {
114
+ /** Output only. Timestamp when the user session ends. Unset if the user session hasn’t ended. */
115
+ endTime?: string;
116
+ /** Identifier. Session id. */
117
+ name?: string;
118
+ /** Output only. Timestamp when the user session starts. */
119
+ startTime?: string;
120
+ }
121
+ interface PhoneUser {
122
+ /** Output only. Partially redacted user's phone number when calling. */
123
+ displayName?: string;
124
+ }
125
+ interface Recording {
126
+ /** Output only. Recording is saved to Google Drive as an MP4 file. The `drive_destination` includes the Drive `fileId` that can be used to download the file using the `files.get` method of the Drive API. */
127
+ driveDestination?: DriveDestination;
128
+ /** Output only. Timestamp when the recording ended. */
129
+ endTime?: string;
130
+ /** Output only. Resource name of the recording. Format: `conferenceRecords/{conference_record}/recordings/{recording}` where `{recording}` is a 1:1 mapping to each unique recording session during the conference. */
131
+ name?: string;
132
+ /** Output only. Timestamp when the recording started. */
133
+ startTime?: string;
134
+ /** Output only. Current state. */
135
+ state?: string;
136
+ }
137
+ interface SignedinUser {
138
+ /** Output only. For a personal device, it's the user's first name and last name. For a robot account, it's the administrator-specified device name. For example, "Altostrat Room". */
139
+ displayName?: string;
140
+ /** Output only. Unique ID for the user. Interoperable with Admin SDK API and People API. Format: `users/{user}` */
141
+ user?: string;
142
+ }
143
+ interface Space {
144
+ /** Active conference, if it exists. */
145
+ activeConference?: ActiveConference;
146
+ /** Configuration pertaining to the meeting space. */
147
+ config?: SpaceConfig;
148
+ /** Output only. Type friendly code to join the meeting. Format: `[a-z]+-[a-z]+-[a-z]+` such as `abc-mnop-xyz`. The maximum length is 128 characters. Can only be used as an alias of the space ID to get the space. */
149
+ meetingCode?: string;
150
+ /** Output only. URI used to join meetings, such as `https://meet.google.com/abc-mnop-xyz`. */
151
+ meetingUri?: string;
152
+ /** Immutable. Resource name of the space. Format: `spaces/{space}` */
153
+ name?: string;
154
+ }
155
+ interface SpaceConfig {
156
+ /** Access type of the meeting space that determines who can join without knocking. Default: The user's default access settings. Controlled by the user's admin for enterprise users or RESTRICTED. */
157
+ accessType?: string;
158
+ /** Defines the entry points that can be used to join meetings hosted in this meeting space. Default: EntryPointAccess.ALL */
159
+ entryPointAccess?: string;
160
+ }
161
+ interface Transcript {
162
+ /** Output only. Where the Google Docs transcript is saved. */
163
+ docsDestination?: DocsDestination;
164
+ /** Output only. Timestamp when the transcript stopped. */
165
+ endTime?: string;
166
+ /** Output only. Resource name of the transcript. Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`, where `{transcript}` is a 1:1 mapping to each unique transcription session of the conference. */
167
+ name?: string;
168
+ /** Output only. Timestamp when the transcript started. */
169
+ startTime?: string;
170
+ /** Output only. Current state. */
171
+ state?: string;
172
+ }
173
+ interface TranscriptEntry {
174
+ /** Output only. Timestamp when the transcript entry ended. */
175
+ endTime?: string;
176
+ /** Output only. Language of spoken text, such as "en-US". IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47) */
177
+ languageCode?: string;
178
+ /** Output only. Resource name of the entry. Format: "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}" */
179
+ name?: string;
180
+ /** Output only. Refers to the participant who speaks. */
181
+ participant?: string;
182
+ /** Output only. Timestamp when the transcript entry started. */
183
+ startTime?: string;
184
+ /** Output only. The transcribed text of the participant's voice, at maximum 10K words. Note that the limit is subject to change. */
185
+ text?: string;
186
+ }
187
+ interface ParticipantSessionsResource {
188
+ /** Gets a participant session by participant session ID. */
189
+ get(request?: {
190
+ /** V1 error format. */
191
+ '$.xgafv'?: string;
192
+ /** OAuth access token. */
193
+ access_token?: string;
194
+ /** Data format for response. */
195
+ alt?: string;
196
+ /** JSONP */
197
+ callback?: string;
198
+ /** Selector specifying which fields to include in a partial response. */
199
+ fields?: string;
200
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
201
+ key?: string;
202
+ /** Required. Resource name of the participant. */
203
+ name: string;
204
+ /** OAuth 2.0 token for the current user. */
205
+ oauth_token?: string;
206
+ /** Returns response with indentations and line breaks. */
207
+ prettyPrint?: boolean;
208
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
209
+ quotaUser?: string;
210
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
211
+ upload_protocol?: string;
212
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
213
+ uploadType?: string;
214
+ }): Request<ParticipantSession>;
215
+ /** Lists the participant sessions of a participant in a conference record. By default, ordered by join time and in descending order. This API supports `fields` as standard parameters like every other API. However, when the `fields` request parameter is omitted this API defaults to `'participantsessions/*, next_page_token'`. */
216
+ list(request?: {
217
+ /** V1 error format. */
218
+ '$.xgafv'?: string;
219
+ /** OAuth access token. */
220
+ access_token?: string;
221
+ /** Data format for response. */
222
+ alt?: string;
223
+ /** JSONP */
224
+ callback?: string;
225
+ /** Selector specifying which fields to include in a partial response. */
226
+ fields?: string;
227
+ /** Optional. User specified filtering condition in [EBNF format](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form). The following are the filterable fields: * `start_time` * `end_time` For example, `end_time IS NULL` returns active participant sessions in the conference record. */
228
+ filter?: string;
229
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
230
+ key?: string;
231
+ /** OAuth 2.0 token for the current user. */
232
+ oauth_token?: string;
233
+ /** Optional. Maximum number of participant sessions to return. The service might return fewer than this value. If unspecified, at most 100 participants are returned. The maximum value is 250; values above 250 are coerced to 250. Maximum might change in the future. */
234
+ pageSize?: number;
235
+ /** Optional. Page token returned from previous List Call. */
236
+ pageToken?: string;
237
+ /** Required. Format: `conferenceRecords/{conference_record}/participants/{participant}` */
238
+ parent: string;
239
+ /** Returns response with indentations and line breaks. */
240
+ prettyPrint?: boolean;
241
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
242
+ quotaUser?: string;
243
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
244
+ upload_protocol?: string;
245
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
246
+ uploadType?: string;
247
+ }): Request<ListParticipantSessionsResponse>;
248
+ }
249
+ interface ParticipantsResource {
250
+ /** Gets a participant by participant ID. */
251
+ get(request?: {
252
+ /** V1 error format. */
253
+ '$.xgafv'?: string;
254
+ /** OAuth access token. */
255
+ access_token?: string;
256
+ /** Data format for response. */
257
+ alt?: string;
258
+ /** JSONP */
259
+ callback?: string;
260
+ /** Selector specifying which fields to include in a partial response. */
261
+ fields?: string;
262
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
263
+ key?: string;
264
+ /** Required. Resource name of the participant. */
265
+ name: string;
266
+ /** OAuth 2.0 token for the current user. */
267
+ oauth_token?: string;
268
+ /** Returns response with indentations and line breaks. */
269
+ prettyPrint?: boolean;
270
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
271
+ quotaUser?: string;
272
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
273
+ upload_protocol?: string;
274
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
275
+ uploadType?: string;
276
+ }): Request<Participant>;
277
+ /** Lists the participants in a conference record. By default, ordered by join time and in descending order. This API supports `fields` as standard parameters like every other API. However, when the `fields` request parameter is omitted, this API defaults to `'participants/*, next_page_token'`. */
278
+ list(request?: {
279
+ /** V1 error format. */
280
+ '$.xgafv'?: string;
281
+ /** OAuth access token. */
282
+ access_token?: string;
283
+ /** Data format for response. */
284
+ alt?: string;
285
+ /** JSONP */
286
+ callback?: string;
287
+ /** Selector specifying which fields to include in a partial response. */
288
+ fields?: string;
289
+ /** Optional. User specified filtering condition in [EBNF format](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form). The following are the filterable fields: * `earliest_start_time` * `latest_end_time` For example, `latest_end_time IS NULL` returns active participants in the conference. */
290
+ filter?: string;
291
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
292
+ key?: string;
293
+ /** OAuth 2.0 token for the current user. */
294
+ oauth_token?: string;
295
+ /** Maximum number of participants to return. The service might return fewer than this value. If unspecified, at most 100 participants are returned. The maximum value is 250; values above 250 are coerced to 250. Maximum might change in the future. */
296
+ pageSize?: number;
297
+ /** Page token returned from previous List Call. */
298
+ pageToken?: string;
299
+ /** Required. Format: `conferenceRecords/{conference_record}` */
300
+ parent: string;
301
+ /** Returns response with indentations and line breaks. */
302
+ prettyPrint?: boolean;
303
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
304
+ quotaUser?: string;
305
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
306
+ upload_protocol?: string;
307
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
308
+ uploadType?: string;
309
+ }): Request<ListParticipantsResponse>;
310
+ participantSessions: ParticipantSessionsResource;
311
+ }
312
+ interface RecordingsResource {
313
+ /** Gets a recording by recording ID. */
314
+ get(request?: {
315
+ /** V1 error format. */
316
+ '$.xgafv'?: string;
317
+ /** OAuth access token. */
318
+ access_token?: string;
319
+ /** Data format for response. */
320
+ alt?: string;
321
+ /** JSONP */
322
+ callback?: string;
323
+ /** Selector specifying which fields to include in a partial response. */
324
+ fields?: string;
325
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
326
+ key?: string;
327
+ /** Required. Resource name of the recording. */
328
+ name: string;
329
+ /** OAuth 2.0 token for the current user. */
330
+ oauth_token?: string;
331
+ /** Returns response with indentations and line breaks. */
332
+ prettyPrint?: boolean;
333
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
334
+ quotaUser?: string;
335
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
336
+ upload_protocol?: string;
337
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
338
+ uploadType?: string;
339
+ }): Request<Recording>;
340
+ /** Lists the recording resources from the conference record. By default, ordered by start time and in ascending order. */
341
+ list(request?: {
342
+ /** V1 error format. */
343
+ '$.xgafv'?: string;
344
+ /** OAuth access token. */
345
+ access_token?: string;
346
+ /** Data format for response. */
347
+ alt?: string;
348
+ /** JSONP */
349
+ callback?: string;
350
+ /** Selector specifying which fields to include in a partial response. */
351
+ fields?: string;
352
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
353
+ key?: string;
354
+ /** OAuth 2.0 token for the current user. */
355
+ oauth_token?: string;
356
+ /** Maximum number of recordings to return. The service might return fewer than this value. If unspecified, at most 10 recordings are returned. The maximum value is 100; values above 100 are coerced to 100. Maximum might change in the future. */
357
+ pageSize?: number;
358
+ /** Page token returned from previous List Call. */
359
+ pageToken?: string;
360
+ /** Required. Format: `conferenceRecords/{conference_record}` */
361
+ parent: string;
362
+ /** Returns response with indentations and line breaks. */
363
+ prettyPrint?: boolean;
364
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
365
+ quotaUser?: string;
366
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
367
+ upload_protocol?: string;
368
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
369
+ uploadType?: string;
370
+ }): Request<ListRecordingsResponse>;
371
+ }
372
+ interface EntriesResource {
373
+ /** Gets a `TranscriptEntry` resource by entry ID. Note: The transcript entries returned by the Google Meet API might not match the transcription found in the Google Docs transcript file. This can occur when the Google Docs transcript file is modified after generation. */
374
+ get(request?: {
375
+ /** V1 error format. */
376
+ '$.xgafv'?: string;
377
+ /** OAuth access token. */
378
+ access_token?: string;
379
+ /** Data format for response. */
380
+ alt?: string;
381
+ /** JSONP */
382
+ callback?: string;
383
+ /** Selector specifying which fields to include in a partial response. */
384
+ fields?: string;
385
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
386
+ key?: string;
387
+ /** Required. Resource name of the `TranscriptEntry`. */
388
+ name: string;
389
+ /** OAuth 2.0 token for the current user. */
390
+ oauth_token?: string;
391
+ /** Returns response with indentations and line breaks. */
392
+ prettyPrint?: boolean;
393
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
394
+ quotaUser?: string;
395
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
396
+ upload_protocol?: string;
397
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
398
+ uploadType?: string;
399
+ }): Request<TranscriptEntry>;
400
+ /** Lists the structured transcript entries per transcript. By default, ordered by start time and in ascending order. Note: The transcript entries returned by the Google Meet API might not match the transcription found in the Google Docs transcript file. This can occur when the Google Docs transcript file is modified after generation. */
401
+ list(request?: {
402
+ /** V1 error format. */
403
+ '$.xgafv'?: string;
404
+ /** OAuth access token. */
405
+ access_token?: string;
406
+ /** Data format for response. */
407
+ alt?: string;
408
+ /** JSONP */
409
+ callback?: string;
410
+ /** Selector specifying which fields to include in a partial response. */
411
+ fields?: string;
412
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
413
+ key?: string;
414
+ /** OAuth 2.0 token for the current user. */
415
+ oauth_token?: string;
416
+ /** Maximum number of entries to return. The service might return fewer than this value. If unspecified, at most 10 entries are returned. The maximum value is 100; values above 100 are coerced to 100. Maximum might change in the future. */
417
+ pageSize?: number;
418
+ /** Page token returned from previous List Call. */
419
+ pageToken?: string;
420
+ /** Required. Format: `conferenceRecords/{conference_record}/transcripts/{transcript}` */
421
+ parent: string;
422
+ /** Returns response with indentations and line breaks. */
423
+ prettyPrint?: boolean;
424
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
425
+ quotaUser?: string;
426
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
427
+ upload_protocol?: string;
428
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
429
+ uploadType?: string;
430
+ }): Request<ListTranscriptEntriesResponse>;
431
+ }
432
+ interface TranscriptsResource {
433
+ /** Gets a transcript by transcript ID. */
434
+ get(request?: {
435
+ /** V1 error format. */
436
+ '$.xgafv'?: string;
437
+ /** OAuth access token. */
438
+ access_token?: string;
439
+ /** Data format for response. */
440
+ alt?: string;
441
+ /** JSONP */
442
+ callback?: string;
443
+ /** Selector specifying which fields to include in a partial response. */
444
+ fields?: string;
445
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
446
+ key?: string;
447
+ /** Required. Resource name of the transcript. */
448
+ name: string;
449
+ /** OAuth 2.0 token for the current user. */
450
+ oauth_token?: string;
451
+ /** Returns response with indentations and line breaks. */
452
+ prettyPrint?: boolean;
453
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
454
+ quotaUser?: string;
455
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
456
+ upload_protocol?: string;
457
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
458
+ uploadType?: string;
459
+ }): Request<Transcript>;
460
+ /** Lists the set of transcripts from the conference record. By default, ordered by start time and in ascending order. */
461
+ list(request?: {
462
+ /** V1 error format. */
463
+ '$.xgafv'?: string;
464
+ /** OAuth access token. */
465
+ access_token?: string;
466
+ /** Data format for response. */
467
+ alt?: string;
468
+ /** JSONP */
469
+ callback?: string;
470
+ /** Selector specifying which fields to include in a partial response. */
471
+ fields?: string;
472
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
473
+ key?: string;
474
+ /** OAuth 2.0 token for the current user. */
475
+ oauth_token?: string;
476
+ /** Maximum number of transcripts to return. The service might return fewer than this value. If unspecified, at most 10 transcripts are returned. The maximum value is 100; values above 100 are coerced to 100. Maximum might change in the future. */
477
+ pageSize?: number;
478
+ /** Page token returned from previous List Call. */
479
+ pageToken?: string;
480
+ /** Required. Format: `conferenceRecords/{conference_record}` */
481
+ parent: string;
482
+ /** Returns response with indentations and line breaks. */
483
+ prettyPrint?: boolean;
484
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
485
+ quotaUser?: string;
486
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
487
+ upload_protocol?: string;
488
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
489
+ uploadType?: string;
490
+ }): Request<ListTranscriptsResponse>;
491
+ entries: EntriesResource;
492
+ }
493
+ interface ConferenceRecordsResource {
494
+ /** Gets a conference record by conference ID. */
495
+ get(request?: {
496
+ /** V1 error format. */
497
+ '$.xgafv'?: string;
498
+ /** OAuth access token. */
499
+ access_token?: string;
500
+ /** Data format for response. */
501
+ alt?: string;
502
+ /** JSONP */
503
+ callback?: string;
504
+ /** Selector specifying which fields to include in a partial response. */
505
+ fields?: string;
506
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
507
+ key?: string;
508
+ /** Required. Resource name of the conference. */
509
+ name: string;
510
+ /** OAuth 2.0 token for the current user. */
511
+ oauth_token?: string;
512
+ /** Returns response with indentations and line breaks. */
513
+ prettyPrint?: boolean;
514
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
515
+ quotaUser?: string;
516
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
517
+ upload_protocol?: string;
518
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
519
+ uploadType?: string;
520
+ }): Request<ConferenceRecord>;
521
+ /** Lists the conference records. By default, ordered by start time and in descending order. */
522
+ list(request?: {
523
+ /** V1 error format. */
524
+ '$.xgafv'?: string;
525
+ /** OAuth access token. */
526
+ access_token?: string;
527
+ /** Data format for response. */
528
+ alt?: string;
529
+ /** JSONP */
530
+ callback?: string;
531
+ /** Selector specifying which fields to include in a partial response. */
532
+ fields?: string;
533
+ /** Optional. User specified filtering condition in [EBNF format](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form). The following are the filterable fields: * `space.meeting_code` * `space.name` * `start_time` * `end_time` For example, `space.meeting_code = "abc-mnop-xyz"`. */
534
+ filter?: string;
535
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
536
+ key?: string;
537
+ /** OAuth 2.0 token for the current user. */
538
+ oauth_token?: string;
539
+ /** Optional. Maximum number of conference records to return. The service might return fewer than this value. If unspecified, at most 25 conference records are returned. The maximum value is 100; values above 100 are coerced to 100. Maximum might change in the future. */
540
+ pageSize?: number;
541
+ /** Optional. Page token returned from previous List Call. */
542
+ pageToken?: string;
543
+ /** Returns response with indentations and line breaks. */
544
+ prettyPrint?: boolean;
545
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
546
+ quotaUser?: string;
547
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
548
+ upload_protocol?: string;
549
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
550
+ uploadType?: string;
551
+ }): Request<ListConferenceRecordsResponse>;
552
+ participants: ParticipantsResource;
553
+ recordings: RecordingsResource;
554
+ transcripts: TranscriptsResource;
555
+ }
556
+ interface SpacesResource {
557
+ /** Creates a space. */
558
+ create(request: {
559
+ /** V1 error format. */
560
+ '$.xgafv'?: string;
561
+ /** OAuth access token. */
562
+ access_token?: string;
563
+ /** Data format for response. */
564
+ alt?: string;
565
+ /** JSONP */
566
+ callback?: string;
567
+ /** Selector specifying which fields to include in a partial response. */
568
+ fields?: string;
569
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
570
+ key?: string;
571
+ /** OAuth 2.0 token for the current user. */
572
+ oauth_token?: string;
573
+ /** Returns response with indentations and line breaks. */
574
+ prettyPrint?: boolean;
575
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
576
+ quotaUser?: string;
577
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
578
+ upload_protocol?: string;
579
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
580
+ uploadType?: string;
581
+ /** Request body */
582
+ resource: Space;
583
+ }): Request<Space>;
584
+ create(
585
+ request: {
586
+ /** V1 error format. */
587
+ '$.xgafv'?: string;
588
+ /** OAuth access token. */
589
+ access_token?: string;
590
+ /** Data format for response. */
591
+ alt?: string;
592
+ /** JSONP */
593
+ callback?: string;
594
+ /** Selector specifying which fields to include in a partial response. */
595
+ fields?: string;
596
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
597
+ key?: string;
598
+ /** OAuth 2.0 token for the current user. */
599
+ oauth_token?: string;
600
+ /** Returns response with indentations and line breaks. */
601
+ prettyPrint?: boolean;
602
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
603
+ quotaUser?: string;
604
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
605
+ upload_protocol?: string;
606
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
607
+ uploadType?: string;
608
+ },
609
+ body: Space
610
+ ): Request<Space>;
611
+ /** Ends an active conference (if there's one). */
612
+ endActiveConference(request: {
613
+ /** V1 error format. */
614
+ '$.xgafv'?: string;
615
+ /** OAuth access token. */
616
+ access_token?: string;
617
+ /** Data format for response. */
618
+ alt?: string;
619
+ /** JSONP */
620
+ callback?: string;
621
+ /** Selector specifying which fields to include in a partial response. */
622
+ fields?: string;
623
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
624
+ key?: string;
625
+ /** Required. Resource name of the space. */
626
+ name: string;
627
+ /** OAuth 2.0 token for the current user. */
628
+ oauth_token?: string;
629
+ /** Returns response with indentations and line breaks. */
630
+ prettyPrint?: boolean;
631
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
632
+ quotaUser?: string;
633
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
634
+ upload_protocol?: string;
635
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
636
+ uploadType?: string;
637
+ /** Request body */
638
+ resource: EndActiveConferenceRequest;
639
+ }): Request<{}>;
640
+ endActiveConference(
641
+ request: {
642
+ /** V1 error format. */
643
+ '$.xgafv'?: string;
644
+ /** OAuth access token. */
645
+ access_token?: string;
646
+ /** Data format for response. */
647
+ alt?: string;
648
+ /** JSONP */
649
+ callback?: string;
650
+ /** Selector specifying which fields to include in a partial response. */
651
+ fields?: string;
652
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
653
+ key?: string;
654
+ /** Required. Resource name of the space. */
655
+ name: string;
656
+ /** OAuth 2.0 token for the current user. */
657
+ oauth_token?: string;
658
+ /** Returns response with indentations and line breaks. */
659
+ prettyPrint?: boolean;
660
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
661
+ quotaUser?: string;
662
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
663
+ upload_protocol?: string;
664
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
665
+ uploadType?: string;
666
+ },
667
+ body: EndActiveConferenceRequest
668
+ ): Request<{}>;
669
+ /** Gets a space by `space_id` or `meeting_code`. */
670
+ get(request?: {
671
+ /** V1 error format. */
672
+ '$.xgafv'?: string;
673
+ /** OAuth access token. */
674
+ access_token?: string;
675
+ /** Data format for response. */
676
+ alt?: string;
677
+ /** JSONP */
678
+ callback?: string;
679
+ /** Selector specifying which fields to include in a partial response. */
680
+ fields?: string;
681
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
682
+ key?: string;
683
+ /** Required. Resource name of the space. */
684
+ name: string;
685
+ /** OAuth 2.0 token for the current user. */
686
+ oauth_token?: string;
687
+ /** Returns response with indentations and line breaks. */
688
+ prettyPrint?: boolean;
689
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
690
+ quotaUser?: string;
691
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
692
+ upload_protocol?: string;
693
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
694
+ uploadType?: string;
695
+ }): Request<Space>;
696
+ /** Updates a space. */
697
+ patch(request: {
698
+ /** V1 error format. */
699
+ '$.xgafv'?: string;
700
+ /** OAuth access token. */
701
+ access_token?: string;
702
+ /** Data format for response. */
703
+ alt?: string;
704
+ /** JSONP */
705
+ callback?: string;
706
+ /** Selector specifying which fields to include in a partial response. */
707
+ fields?: string;
708
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
709
+ key?: string;
710
+ /** Immutable. Resource name of the space. Format: `spaces/{space}` */
711
+ name: string;
712
+ /** OAuth 2.0 token for the current user. */
713
+ oauth_token?: string;
714
+ /** Returns response with indentations and line breaks. */
715
+ prettyPrint?: boolean;
716
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
717
+ quotaUser?: string;
718
+ /** Optional. Field mask used to specify the fields to be updated in the space. If update_mask isn't provided, it defaults to '*' and updates all fields provided in the request, including deleting fields not set in the request. */
719
+ updateMask?: string;
720
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
721
+ upload_protocol?: string;
722
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
723
+ uploadType?: string;
724
+ /** Request body */
725
+ resource: Space;
726
+ }): Request<Space>;
727
+ patch(
728
+ request: {
729
+ /** V1 error format. */
730
+ '$.xgafv'?: string;
731
+ /** OAuth access token. */
732
+ access_token?: string;
733
+ /** Data format for response. */
734
+ alt?: string;
735
+ /** JSONP */
736
+ callback?: string;
737
+ /** Selector specifying which fields to include in a partial response. */
738
+ fields?: string;
739
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
740
+ key?: string;
741
+ /** Immutable. Resource name of the space. Format: `spaces/{space}` */
742
+ name: string;
743
+ /** OAuth 2.0 token for the current user. */
744
+ oauth_token?: string;
745
+ /** Returns response with indentations and line breaks. */
746
+ prettyPrint?: boolean;
747
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
748
+ quotaUser?: string;
749
+ /** Optional. Field mask used to specify the fields to be updated in the space. If update_mask isn't provided, it defaults to '*' and updates all fields provided in the request, including deleting fields not set in the request. */
750
+ updateMask?: string;
751
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
752
+ upload_protocol?: string;
753
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
754
+ uploadType?: string;
755
+ },
756
+ body: Space
757
+ ): Request<Space>;
758
+ }
759
+
760
+ const conferenceRecords: ConferenceRecordsResource;
761
+
762
+ const spaces: SpacesResource;
763
+ }
764
+ }
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@maxim_mazurok/gapi.client.meet-v2",
3
+ "version": "0.0.20240616",
4
+ "description": "TypeScript typings for Google Meet API v2",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git"
8
+ },
9
+ "license": "MIT",
10
+ "author": {
11
+ "name": "Maxim Mazurok",
12
+ "email": "maxim@mazurok.com",
13
+ "url": "https://maxim.mazurok.com"
14
+ },
15
+ "types": "index.d.ts",
16
+ "dependencies": {
17
+ "@types/gapi.client": "*",
18
+ "@types/gapi.client.discovery-v1": "*"
19
+ }
20
+ }
package/readme.md ADDED
@@ -0,0 +1,104 @@
1
+ # TypeScript typings for Google Meet API v2
2
+
3
+ Create and manage meetings in Google Meet.
4
+ For detailed description please check [documentation](https://developers.google.com/meet/api).
5
+
6
+ ## Installing
7
+
8
+ Install typings for Google Meet API:
9
+
10
+ ```
11
+ npm install @types/gapi.client.meet-v2 --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(
29
+ 'https://meet.googleapis.com/$discovery/rest?version=v2',
30
+ () => {
31
+ // now we can use:
32
+ // gapi.client.meet
33
+ }
34
+ );
35
+ ```
36
+
37
+ ```typescript
38
+ // Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
39
+ gapi.client.load('meet', 'v2', () => {
40
+ // now we can use:
41
+ // gapi.client.meet
42
+ });
43
+ ```
44
+
45
+ Don't forget to authenticate your client before sending any request to resources:
46
+
47
+ ```typescript
48
+ // declare client_id registered in Google Developers Console
49
+ var client_id = '',
50
+ scope = [
51
+ // Create, edit, and see information about your Google Meet conferences created by the app.
52
+ 'https://www.googleapis.com/auth/meetings.space.created',
53
+
54
+ // Read information about any of your Google Meet conferences
55
+ 'https://www.googleapis.com/auth/meetings.space.readonly',
56
+ ],
57
+ immediate = true;
58
+ // ...
59
+
60
+ gapi.auth.authorize(
61
+ {client_id: client_id, scope: scope, immediate: immediate},
62
+ authResult => {
63
+ if (authResult && !authResult.error) {
64
+ /* handle successful authorization */
65
+ } else {
66
+ /* handle authorization error */
67
+ }
68
+ }
69
+ );
70
+ ```
71
+
72
+ After that you can use Google Meet API resources: <!-- TODO: make this work for multiple namespaces -->
73
+
74
+ ```typescript
75
+ /*
76
+ Gets a conference record by conference ID.
77
+ */
78
+ await gapi.client.meet.conferenceRecords.get({name: 'name'});
79
+
80
+ /*
81
+ Lists the conference records. By default, ordered by start time and in descending order.
82
+ */
83
+ await gapi.client.meet.conferenceRecords.list({});
84
+
85
+ /*
86
+ Creates a space.
87
+ */
88
+ await gapi.client.meet.spaces.create({});
89
+
90
+ /*
91
+ Ends an active conference (if there's one).
92
+ */
93
+ await gapi.client.meet.spaces.endActiveConference({name: 'name'});
94
+
95
+ /*
96
+ Gets a space by `space_id` or `meeting_code`.
97
+ */
98
+ await gapi.client.meet.spaces.get({name: 'name'});
99
+
100
+ /*
101
+ Updates a space.
102
+ */
103
+ await gapi.client.meet.spaces.patch({name: 'name'});
104
+ ```