worochi 0.0.14 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +82 -24
  3. data/lib/worochi/agent/#example.rb +6 -0
  4. data/lib/worochi/agent/dropbox.rb +6 -8
  5. data/lib/worochi/agent/github.rb +7 -2
  6. data/lib/worochi/agent/google_drive.rb +272 -0
  7. data/lib/worochi/agent.rb +23 -2
  8. data/lib/worochi/config/google_drive.yml +3 -1
  9. data/lib/worochi/item.rb +42 -1
  10. data/lib/worochi/oauth.rb +16 -8
  11. data/lib/worochi/version.rb +1 -1
  12. data/lib/worochi.rb +1 -0
  13. data/spec/cassettes/Worochi_Agent_GoogleDrive/_delete/deletes_a_file.yml +4248 -0
  14. data/spec/cassettes/Worochi_Agent_GoogleDrive/_delete/raises_error_on_bad_token.yml +7889 -0
  15. data/spec/cassettes/Worochi_Agent_GoogleDrive/_get_item_id/retrieves_the_item_ID.yml +4148 -0
  16. data/spec/cassettes/Worochi_Agent_GoogleDrive/_get_item_id/returns_the_root_ID.yml +3889 -0
  17. data/spec/cassettes/Worochi_Agent_GoogleDrive/_insert_file/creates_a_new_folder_to_root.yml +4753 -0
  18. data/spec/cassettes/Worochi_Agent_GoogleDrive/_insert_file/uploads_a_file.yml +4492 -0
  19. data/spec/cassettes/Worochi_Agent_GoogleDrive/_push_item/creates_new_directories_as_needed.yml +5961 -0
  20. data/spec/cassettes/Worochi_Agent_GoogleDrive/_push_item/pushes_a_single_item.yml +3887 -0
  21. data/spec/cassettes/Worochi_Agent_GoogleDrive/_push_item/raises_error_on_bad_token.yml +7833 -0
  22. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_default_options/has_the_required_options.yml +3889 -0
  23. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_files/accepts_a_different_relative_path.yml +4294 -0
  24. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_files/contains_file1.yml +4236 -0
  25. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_files/does_not_contain_folder1.yml +4236 -0
  26. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_files/raises_error_on_invalid_path.yml +4236 -0
  27. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_files_and_folders/contains_folder1_and_file1.yml +4583 -0
  28. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_files_and_folders/shows_detailed_listing_including_the_required_fields.yml +4236 -0
  29. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_folders/accepts_a_different_relative_path.yml +4294 -0
  30. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_folders/contains_folder1.yml +4236 -0
  31. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_folders/does_not_contain_file1.yml +4236 -0
  32. data/spec/cassettes/Worochi_Agent_GoogleDrive/it_should_behave_like_a_service_agent/_init_client/returns_the_client.yml +7775 -0
  33. data/spec/cassettes/Worochi_Item/_content_type/detects_the_MIME_type.yml +105 -0
  34. data/spec/cassettes/Worochi_Item/_content_type/falls_back_to_file_name_when_ruby-filemagic_is_not_loaded.yml +105 -0
  35. data/spec/spec_helper.rb +5 -0
  36. data/spec/support/shared_exampes_for_agents.rb +2 -2
  37. data/spec/worochi/agent/github_spec.rb +6 -0
  38. data/spec/worochi/agent/google_drive_spec.rb +79 -0
  39. data/spec/worochi/agent_spec.rb +13 -1
  40. data/spec/worochi/item_spec.rb +18 -0
  41. data/spec/worochi/oauth_spec.rb +1 -1
  42. data/worochi.gemspec +4 -0
  43. metadata +104 -1
@@ -0,0 +1,4294 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.googleapis.com/discovery/v1/apis/drive/v2/rest
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
12
+ Content-Type:
13
+ - application/x-www-form-urlencoded
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - '*/*'
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Expires:
24
+ - Wed, 21 Aug 2013 22:56:41 GMT
25
+ Date:
26
+ - Wed, 21 Aug 2013 22:51:41 GMT
27
+ Etag:
28
+ - '"wtgj9ZncHCe-ShJM8RewHb1DgWI/grOWM_9ZOSeAE0jm1s5h3RFFyrU"'
29
+ Content-Type:
30
+ - application/json; charset=UTF-8
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ X-Frame-Options:
34
+ - SAMEORIGIN
35
+ X-Xss-Protection:
36
+ - 1; mode=block
37
+ Server:
38
+ - GSE
39
+ Age:
40
+ - '15'
41
+ Cache-Control:
42
+ - public, max-age=300, must-revalidate, no-transform
43
+ Transfer-Encoding:
44
+ - chunked
45
+ body:
46
+ encoding: UTF-8
47
+ string: |
48
+ {
49
+ "kind": "discovery#restDescription",
50
+ "etag": "\"wtgj9ZncHCe-ShJM8RewHb1DgWI/grOWM_9ZOSeAE0jm1s5h3RFFyrU\"",
51
+ "discoveryVersion": "v1",
52
+ "id": "drive:v2",
53
+ "name": "drive",
54
+ "version": "v2",
55
+ "revision": "20130819",
56
+ "title": "Drive API",
57
+ "description": "The API to interact with Drive.",
58
+ "ownerDomain": "google.com",
59
+ "ownerName": "Google",
60
+ "icons": {
61
+ "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png",
62
+ "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png"
63
+ },
64
+ "documentationLink": "https://developers.google.com/drive/",
65
+ "protocol": "rest",
66
+ "baseUrl": "https://www.googleapis.com/drive/v2/",
67
+ "basePath": "/drive/v2/",
68
+ "rootUrl": "https://www.googleapis.com/",
69
+ "servicePath": "drive/v2/",
70
+ "batchPath": "batch",
71
+ "parameters": {
72
+ "alt": {
73
+ "type": "string",
74
+ "description": "Data format for the response.",
75
+ "default": "json",
76
+ "enum": [
77
+ "json"
78
+ ],
79
+ "enumDescriptions": [
80
+ "Responses with Content-Type of application/json"
81
+ ],
82
+ "location": "query"
83
+ },
84
+ "fields": {
85
+ "type": "string",
86
+ "description": "Selector specifying which fields to include in a partial response.",
87
+ "location": "query"
88
+ },
89
+ "key": {
90
+ "type": "string",
91
+ "description": "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.",
92
+ "location": "query"
93
+ },
94
+ "oauth_token": {
95
+ "type": "string",
96
+ "description": "OAuth 2.0 token for the current user.",
97
+ "location": "query"
98
+ },
99
+ "prettyPrint": {
100
+ "type": "boolean",
101
+ "description": "Returns response with indentations and line breaks.",
102
+ "default": "true",
103
+ "location": "query"
104
+ },
105
+ "quotaUser": {
106
+ "type": "string",
107
+ "description": "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. Overrides userIp if both are provided.",
108
+ "location": "query"
109
+ },
110
+ "userIp": {
111
+ "type": "string",
112
+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
113
+ "location": "query"
114
+ }
115
+ },
116
+ "auth": {
117
+ "oauth2": {
118
+ "scopes": {
119
+ "https://www.googleapis.com/auth/drive": {
120
+ "description": "View and manage the files and documents in your Google Drive"
121
+ },
122
+ "https://www.googleapis.com/auth/drive.appdata": {
123
+ "description": "View and manage its own configuration data in your Google Drive"
124
+ },
125
+ "https://www.googleapis.com/auth/drive.apps.readonly": {
126
+ "description": "View your Google Drive apps"
127
+ },
128
+ "https://www.googleapis.com/auth/drive.file": {
129
+ "description": "View and manage Google Drive files that you have opened or created with this app"
130
+ },
131
+ "https://www.googleapis.com/auth/drive.metadata.readonly": {
132
+ "description": "View metadata for files and documents in your Google Drive"
133
+ },
134
+ "https://www.googleapis.com/auth/drive.readonly": {
135
+ "description": "View the files and documents in your Google Drive"
136
+ },
137
+ "https://www.googleapis.com/auth/drive.scripts": {
138
+ "description": "Modify your Google Apps Script scripts' behavior"
139
+ }
140
+ }
141
+ }
142
+ },
143
+ "schemas": {
144
+ "About": {
145
+ "id": "About",
146
+ "type": "object",
147
+ "description": "An item with user information and settings.",
148
+ "properties": {
149
+ "additionalRoleInfo": {
150
+ "type": "array",
151
+ "description": "Information about supported additional roles per file type. The most specific type takes precedence.",
152
+ "items": {
153
+ "type": "object",
154
+ "properties": {
155
+ "roleSets": {
156
+ "type": "array",
157
+ "description": "The supported additional roles per primary role.",
158
+ "items": {
159
+ "type": "object",
160
+ "properties": {
161
+ "additionalRoles": {
162
+ "type": "array",
163
+ "description": "The supported additional roles with the primary role.",
164
+ "items": {
165
+ "type": "string"
166
+ }
167
+ },
168
+ "primaryRole": {
169
+ "type": "string",
170
+ "description": "A primary permission role."
171
+ }
172
+ }
173
+ }
174
+ },
175
+ "type": {
176
+ "type": "string",
177
+ "description": "The content type that this additional role info applies to."
178
+ }
179
+ }
180
+ }
181
+ },
182
+ "domainSharingPolicy": {
183
+ "type": "string",
184
+ "description": "The domain sharing policy for the current user."
185
+ },
186
+ "etag": {
187
+ "type": "string",
188
+ "description": "The ETag of the item."
189
+ },
190
+ "exportFormats": {
191
+ "type": "array",
192
+ "description": "The allowable export formats.",
193
+ "items": {
194
+ "type": "object",
195
+ "properties": {
196
+ "source": {
197
+ "type": "string",
198
+ "description": "The content type to convert from."
199
+ },
200
+ "targets": {
201
+ "type": "array",
202
+ "description": "The possible content types to convert to.",
203
+ "items": {
204
+ "type": "string"
205
+ }
206
+ }
207
+ }
208
+ }
209
+ },
210
+ "features": {
211
+ "type": "array",
212
+ "description": "List of additional features enabled on this account.",
213
+ "items": {
214
+ "type": "object",
215
+ "properties": {
216
+ "featureName": {
217
+ "type": "string",
218
+ "description": "The name of the feature."
219
+ },
220
+ "featureRate": {
221
+ "type": "number",
222
+ "description": "The request limit rate for this feature, in queries per second.",
223
+ "format": "double"
224
+ }
225
+ }
226
+ }
227
+ },
228
+ "importFormats": {
229
+ "type": "array",
230
+ "description": "The allowable import formats.",
231
+ "items": {
232
+ "type": "object",
233
+ "properties": {
234
+ "source": {
235
+ "type": "string",
236
+ "description": "The imported file's content type to convert from."
237
+ },
238
+ "targets": {
239
+ "type": "array",
240
+ "description": "The possible content types to convert to.",
241
+ "items": {
242
+ "type": "string"
243
+ }
244
+ }
245
+ }
246
+ }
247
+ },
248
+ "isCurrentAppInstalled": {
249
+ "type": "boolean",
250
+ "description": "A boolean indicating whether the authenticated app is installed by the authenticated user."
251
+ },
252
+ "kind": {
253
+ "type": "string",
254
+ "description": "This is always drive#about.",
255
+ "default": "drive#about"
256
+ },
257
+ "largestChangeId": {
258
+ "type": "string",
259
+ "description": "The largest change id.",
260
+ "format": "int64"
261
+ },
262
+ "maxUploadSizes": {
263
+ "type": "array",
264
+ "description": "List of max upload sizes for each file type. The most specific type takes precedence.",
265
+ "items": {
266
+ "type": "object",
267
+ "properties": {
268
+ "size": {
269
+ "type": "string",
270
+ "description": "The max upload size for this type.",
271
+ "format": "int64"
272
+ },
273
+ "type": {
274
+ "type": "string",
275
+ "description": "The file type."
276
+ }
277
+ }
278
+ }
279
+ },
280
+ "name": {
281
+ "type": "string",
282
+ "description": "The name of the current user."
283
+ },
284
+ "permissionId": {
285
+ "type": "string",
286
+ "description": "The current user's ID as visible in the permissions collection."
287
+ },
288
+ "quotaBytesTotal": {
289
+ "type": "string",
290
+ "description": "The total number of quota bytes.",
291
+ "format": "int64"
292
+ },
293
+ "quotaBytesUsed": {
294
+ "type": "string",
295
+ "description": "The number of quota bytes used by Google Drive.",
296
+ "format": "int64"
297
+ },
298
+ "quotaBytesUsedAggregate": {
299
+ "type": "string",
300
+ "description": "The number of quota bytes used by all Google apps (Drive, Picasa, etc.).",
301
+ "format": "int64"
302
+ },
303
+ "quotaBytesUsedInTrash": {
304
+ "type": "string",
305
+ "description": "The number of quota bytes used by trashed items.",
306
+ "format": "int64"
307
+ },
308
+ "remainingChangeIds": {
309
+ "type": "string",
310
+ "description": "The number of remaining change ids.",
311
+ "format": "int64"
312
+ },
313
+ "rootFolderId": {
314
+ "type": "string",
315
+ "description": "The id of the root folder."
316
+ },
317
+ "selfLink": {
318
+ "type": "string",
319
+ "description": "A link back to this item."
320
+ },
321
+ "user": {
322
+ "$ref": "User",
323
+ "description": "The authenticated user."
324
+ }
325
+ }
326
+ },
327
+ "App": {
328
+ "id": "App",
329
+ "type": "object",
330
+ "description": "The apps resource provides a list of the apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details.",
331
+ "properties": {
332
+ "authorized": {
333
+ "type": "boolean",
334
+ "description": "Whether the app is authorized to access data on the user's Drive."
335
+ },
336
+ "icons": {
337
+ "type": "array",
338
+ "description": "The various icons for the app.",
339
+ "items": {
340
+ "type": "object",
341
+ "properties": {
342
+ "category": {
343
+ "type": "string",
344
+ "description": "Category of the icon. Allowed values are: \n- application - icon for the application \n- document - icon for a file associated with the app \n- documentShared - icon for a shared file associated with the app"
345
+ },
346
+ "iconUrl": {
347
+ "type": "string",
348
+ "description": "URL for the icon."
349
+ },
350
+ "size": {
351
+ "type": "integer",
352
+ "description": "Size of the icon. Represented as the maximum of the width and height.",
353
+ "format": "int32"
354
+ }
355
+ }
356
+ }
357
+ },
358
+ "id": {
359
+ "type": "string",
360
+ "description": "The ID of the app."
361
+ },
362
+ "installed": {
363
+ "type": "boolean",
364
+ "description": "Whether the app is installed."
365
+ },
366
+ "kind": {
367
+ "type": "string",
368
+ "description": "This is always drive#app.",
369
+ "default": "drive#app"
370
+ },
371
+ "longDescription": {
372
+ "type": "string",
373
+ "description": "A long description of the app."
374
+ },
375
+ "name": {
376
+ "type": "string",
377
+ "description": "The name of the app."
378
+ },
379
+ "objectType": {
380
+ "type": "string",
381
+ "description": "The type of object this app creates (e.g. Chart). If empty, the app name should be used instead."
382
+ },
383
+ "openUrlTemplate": {
384
+ "type": "string",
385
+ "description": "The template url for opening files with this app. The template will contain {ids} and/or {exportIds} to be replaced by the actual file ids."
386
+ },
387
+ "primaryFileExtensions": {
388
+ "type": "array",
389
+ "description": "The list of primary file extensions.",
390
+ "items": {
391
+ "type": "string"
392
+ }
393
+ },
394
+ "primaryMimeTypes": {
395
+ "type": "array",
396
+ "description": "The list of primary mime types.",
397
+ "items": {
398
+ "type": "string"
399
+ }
400
+ },
401
+ "productId": {
402
+ "type": "string",
403
+ "description": "The ID of the product listing for this app."
404
+ },
405
+ "productUrl": {
406
+ "type": "string",
407
+ "description": "A link to the product listing for this app."
408
+ },
409
+ "secondaryFileExtensions": {
410
+ "type": "array",
411
+ "description": "The list of secondary file extensions.",
412
+ "items": {
413
+ "type": "string"
414
+ }
415
+ },
416
+ "secondaryMimeTypes": {
417
+ "type": "array",
418
+ "description": "The list of secondary mime types.",
419
+ "items": {
420
+ "type": "string"
421
+ }
422
+ },
423
+ "shortDescription": {
424
+ "type": "string",
425
+ "description": "A short description of the app."
426
+ },
427
+ "supportsCreate": {
428
+ "type": "boolean",
429
+ "description": "Whether this app supports creating new objects."
430
+ },
431
+ "supportsImport": {
432
+ "type": "boolean",
433
+ "description": "Whether this app supports importing Google Docs."
434
+ },
435
+ "supportsMultiOpen": {
436
+ "type": "boolean",
437
+ "description": "Whether this app supports opening more than one file."
438
+ },
439
+ "useByDefault": {
440
+ "type": "boolean",
441
+ "description": "Whether the app is selected as the default handler for the types it supports."
442
+ }
443
+ }
444
+ },
445
+ "AppList": {
446
+ "id": "AppList",
447
+ "type": "object",
448
+ "description": "A list of third-party applications which the user has installed or given access to Google Drive.",
449
+ "properties": {
450
+ "etag": {
451
+ "type": "string",
452
+ "description": "The ETag of the list."
453
+ },
454
+ "items": {
455
+ "type": "array",
456
+ "description": "The actual list of apps.",
457
+ "items": {
458
+ "$ref": "App"
459
+ }
460
+ },
461
+ "kind": {
462
+ "type": "string",
463
+ "description": "This is always drive#appList.",
464
+ "default": "drive#appList"
465
+ },
466
+ "selfLink": {
467
+ "type": "string",
468
+ "description": "A link back to this list."
469
+ }
470
+ }
471
+ },
472
+ "Change": {
473
+ "id": "Change",
474
+ "type": "object",
475
+ "description": "Representation of a change to a file.",
476
+ "properties": {
477
+ "deleted": {
478
+ "type": "boolean",
479
+ "description": "Whether the file has been deleted."
480
+ },
481
+ "file": {
482
+ "$ref": "File",
483
+ "description": "The updated state of the file. Present if the file has not been deleted."
484
+ },
485
+ "fileId": {
486
+ "type": "string",
487
+ "description": "The ID of the file associated with this change."
488
+ },
489
+ "id": {
490
+ "type": "string",
491
+ "description": "The ID of the change.",
492
+ "format": "int64"
493
+ },
494
+ "kind": {
495
+ "type": "string",
496
+ "description": "This is always drive#change.",
497
+ "default": "drive#change"
498
+ },
499
+ "modificationDate": {
500
+ "type": "string",
501
+ "description": "The time of this modification.",
502
+ "format": "date-time"
503
+ },
504
+ "selfLink": {
505
+ "type": "string",
506
+ "description": "A link back to this change."
507
+ }
508
+ }
509
+ },
510
+ "ChangeList": {
511
+ "id": "ChangeList",
512
+ "type": "object",
513
+ "description": "A list of changes for a user.",
514
+ "properties": {
515
+ "etag": {
516
+ "type": "string",
517
+ "description": "The ETag of the list."
518
+ },
519
+ "items": {
520
+ "type": "array",
521
+ "description": "The actual list of changes.",
522
+ "items": {
523
+ "$ref": "Change"
524
+ }
525
+ },
526
+ "kind": {
527
+ "type": "string",
528
+ "description": "This is always drive#changeList.",
529
+ "default": "drive#changeList"
530
+ },
531
+ "largestChangeId": {
532
+ "type": "string",
533
+ "description": "The current largest change ID.",
534
+ "format": "int64"
535
+ },
536
+ "nextLink": {
537
+ "type": "string",
538
+ "description": "A link to the next page of changes."
539
+ },
540
+ "nextPageToken": {
541
+ "type": "string",
542
+ "description": "The page token for the next page of changes."
543
+ },
544
+ "selfLink": {
545
+ "type": "string",
546
+ "description": "A link back to this list."
547
+ }
548
+ }
549
+ },
550
+ "Channel": {
551
+ "id": "Channel",
552
+ "type": "object",
553
+ "properties": {
554
+ "address": {
555
+ "type": "string",
556
+ "description": "The address where notifications are delivered for this channel."
557
+ },
558
+ "expiration": {
559
+ "type": "string",
560
+ "description": "Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.",
561
+ "format": "int64"
562
+ },
563
+ "id": {
564
+ "type": "string",
565
+ "description": "A UUID or similar unique string that identifies this channel."
566
+ },
567
+ "kind": {
568
+ "type": "string",
569
+ "description": "Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string \"api#channel\".",
570
+ "default": "api#channel"
571
+ },
572
+ "params": {
573
+ "type": "object",
574
+ "description": "Additional parameters controlling delivery channel behavior. Optional.",
575
+ "additionalProperties": {
576
+ "type": "string",
577
+ "description": "Declares a new parameter by name."
578
+ }
579
+ },
580
+ "payload": {
581
+ "type": "boolean",
582
+ "description": "A Boolean value to indicate whether payload is wanted. Optional."
583
+ },
584
+ "resourceId": {
585
+ "type": "string",
586
+ "description": "An opaque ID that identifies the resource being watched on this channel. Stable across different API versions."
587
+ },
588
+ "resourceUri": {
589
+ "type": "string",
590
+ "description": "A version-specific identifier for the watched resource."
591
+ },
592
+ "token": {
593
+ "type": "string",
594
+ "description": "An arbitrary string delivered to the target address with each notification delivered over this channel. Optional."
595
+ },
596
+ "type": {
597
+ "type": "string",
598
+ "description": "The type of delivery mechanism used for this channel."
599
+ }
600
+ }
601
+ },
602
+ "ChildList": {
603
+ "id": "ChildList",
604
+ "type": "object",
605
+ "description": "A list of children of a file.",
606
+ "properties": {
607
+ "etag": {
608
+ "type": "string",
609
+ "description": "The ETag of the list."
610
+ },
611
+ "items": {
612
+ "type": "array",
613
+ "description": "The actual list of children.",
614
+ "items": {
615
+ "$ref": "ChildReference"
616
+ }
617
+ },
618
+ "kind": {
619
+ "type": "string",
620
+ "description": "This is always drive#childList.",
621
+ "default": "drive#childList"
622
+ },
623
+ "nextLink": {
624
+ "type": "string",
625
+ "description": "A link to the next page of children."
626
+ },
627
+ "nextPageToken": {
628
+ "type": "string",
629
+ "description": "The page token for the next page of children."
630
+ },
631
+ "selfLink": {
632
+ "type": "string",
633
+ "description": "A link back to this list."
634
+ }
635
+ }
636
+ },
637
+ "ChildReference": {
638
+ "id": "ChildReference",
639
+ "type": "object",
640
+ "description": "A reference to a folder's child.",
641
+ "properties": {
642
+ "childLink": {
643
+ "type": "string",
644
+ "description": "A link to the child."
645
+ },
646
+ "id": {
647
+ "type": "string",
648
+ "description": "The ID of the child.",
649
+ "annotations": {
650
+ "required": [
651
+ "drive.children.insert"
652
+ ]
653
+ }
654
+ },
655
+ "kind": {
656
+ "type": "string",
657
+ "description": "This is always drive#childReference.",
658
+ "default": "drive#childReference"
659
+ },
660
+ "selfLink": {
661
+ "type": "string",
662
+ "description": "A link back to this reference."
663
+ }
664
+ }
665
+ },
666
+ "Comment": {
667
+ "id": "Comment",
668
+ "type": "object",
669
+ "description": "A JSON representation of a comment on a file in Google Drive.",
670
+ "properties": {
671
+ "anchor": {
672
+ "type": "string",
673
+ "description": "A region of the document represented as a JSON string. See anchor documentation for details on how to define and interpret anchor properties."
674
+ },
675
+ "author": {
676
+ "$ref": "User",
677
+ "description": "The user who wrote this comment."
678
+ },
679
+ "commentId": {
680
+ "type": "string",
681
+ "description": "The ID of the comment."
682
+ },
683
+ "content": {
684
+ "type": "string",
685
+ "description": "The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content.",
686
+ "annotations": {
687
+ "required": [
688
+ "drive.comments.insert",
689
+ "drive.comments.update"
690
+ ]
691
+ }
692
+ },
693
+ "context": {
694
+ "type": "object",
695
+ "description": "The context of the file which is being commented on.",
696
+ "properties": {
697
+ "type": {
698
+ "type": "string",
699
+ "description": "The MIME type of the context snippet."
700
+ },
701
+ "value": {
702
+ "type": "string",
703
+ "description": "Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about."
704
+ }
705
+ }
706
+ },
707
+ "createdDate": {
708
+ "type": "string",
709
+ "description": "The date when this comment was first created.",
710
+ "format": "date-time"
711
+ },
712
+ "deleted": {
713
+ "type": "boolean",
714
+ "description": "Whether this comment has been deleted. If a comment has been deleted the content will be cleared and this will only represent a comment that once existed."
715
+ },
716
+ "fileId": {
717
+ "type": "string",
718
+ "description": "The file which this comment is addressing."
719
+ },
720
+ "fileTitle": {
721
+ "type": "string",
722
+ "description": "The title of the file which this comment is addressing."
723
+ },
724
+ "htmlContent": {
725
+ "type": "string",
726
+ "description": "HTML formatted content for this comment."
727
+ },
728
+ "kind": {
729
+ "type": "string",
730
+ "description": "This is always drive#comment.",
731
+ "default": "drive#comment"
732
+ },
733
+ "modifiedDate": {
734
+ "type": "string",
735
+ "description": "The date when this comment or any of its replies were last modified.",
736
+ "format": "date-time"
737
+ },
738
+ "replies": {
739
+ "type": "array",
740
+ "description": "Replies to this post.",
741
+ "items": {
742
+ "$ref": "CommentReply"
743
+ }
744
+ },
745
+ "selfLink": {
746
+ "type": "string",
747
+ "description": "A link back to this comment."
748
+ },
749
+ "status": {
750
+ "type": "string",
751
+ "description": "The status of this comment. Status can be changed by posting a reply to a comment with the desired status. \n- \"open\" - The comment is still open. \n- \"resolved\" - The comment has been resolved by one of its replies."
752
+ }
753
+ }
754
+ },
755
+ "CommentList": {
756
+ "id": "CommentList",
757
+ "type": "object",
758
+ "description": "A JSON representation of a list of comments on a file in Google Drive.",
759
+ "properties": {
760
+ "items": {
761
+ "type": "array",
762
+ "description": "List of comments.",
763
+ "items": {
764
+ "$ref": "Comment"
765
+ }
766
+ },
767
+ "kind": {
768
+ "type": "string",
769
+ "description": "This is always drive#commentList.",
770
+ "default": "drive#commentList"
771
+ },
772
+ "nextLink": {
773
+ "type": "string",
774
+ "description": "A link to the next page of comments."
775
+ },
776
+ "nextPageToken": {
777
+ "type": "string",
778
+ "description": "The token to use to request the next page of results."
779
+ },
780
+ "selfLink": {
781
+ "type": "string",
782
+ "description": "A link back to this list."
783
+ }
784
+ }
785
+ },
786
+ "CommentReply": {
787
+ "id": "CommentReply",
788
+ "type": "object",
789
+ "description": "A JSON representation of a reply to a comment on a file in Google Drive.",
790
+ "properties": {
791
+ "author": {
792
+ "$ref": "User",
793
+ "description": "The user who wrote this reply."
794
+ },
795
+ "content": {
796
+ "type": "string",
797
+ "description": "The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen).",
798
+ "annotations": {
799
+ "required": [
800
+ "drive.replies.update"
801
+ ]
802
+ }
803
+ },
804
+ "createdDate": {
805
+ "type": "string",
806
+ "description": "The date when this reply was first created.",
807
+ "format": "date-time"
808
+ },
809
+ "deleted": {
810
+ "type": "boolean",
811
+ "description": "Whether this reply has been deleted. If a reply has been deleted the content will be cleared and this will only represent a reply that once existed."
812
+ },
813
+ "htmlContent": {
814
+ "type": "string",
815
+ "description": "HTML formatted content for this reply."
816
+ },
817
+ "kind": {
818
+ "type": "string",
819
+ "description": "This is always drive#commentReply.",
820
+ "default": "drive#commentReply"
821
+ },
822
+ "modifiedDate": {
823
+ "type": "string",
824
+ "description": "The date when this reply was last modified.",
825
+ "format": "date-time"
826
+ },
827
+ "replyId": {
828
+ "type": "string",
829
+ "description": "The ID of the reply."
830
+ },
831
+ "verb": {
832
+ "type": "string",
833
+ "description": "The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are: \n- \"resolve\" - To resolve a comment. \n- \"reopen\" - To reopen (un-resolve) a comment."
834
+ }
835
+ }
836
+ },
837
+ "CommentReplyList": {
838
+ "id": "CommentReplyList",
839
+ "type": "object",
840
+ "description": "A JSON representation of a list of replies to a comment on a file in Google Drive.",
841
+ "properties": {
842
+ "items": {
843
+ "type": "array",
844
+ "description": "List of reply.",
845
+ "items": {
846
+ "$ref": "CommentReply"
847
+ }
848
+ },
849
+ "kind": {
850
+ "type": "string",
851
+ "description": "This is always drive#commentReplyList.",
852
+ "default": "drive#commentReplyList"
853
+ },
854
+ "nextLink": {
855
+ "type": "string",
856
+ "description": "A link to the next page of replies."
857
+ },
858
+ "nextPageToken": {
859
+ "type": "string",
860
+ "description": "The token to use to request the next page of results."
861
+ },
862
+ "selfLink": {
863
+ "type": "string",
864
+ "description": "A link back to this list."
865
+ }
866
+ }
867
+ },
868
+ "File": {
869
+ "id": "File",
870
+ "type": "object",
871
+ "description": "The metadata for a file.",
872
+ "properties": {
873
+ "alternateLink": {
874
+ "type": "string",
875
+ "description": "A link for opening the file in using a relevant Google editor or viewer."
876
+ },
877
+ "appDataContents": {
878
+ "type": "boolean",
879
+ "description": "Whether this file is in the appdata folder."
880
+ },
881
+ "copyable": {
882
+ "type": "boolean",
883
+ "description": "Whether the file can be copied by the current user."
884
+ },
885
+ "createdDate": {
886
+ "type": "string",
887
+ "description": "Create time for this file (formatted ISO8601 timestamp).",
888
+ "format": "date-time"
889
+ },
890
+ "defaultOpenWithLink": {
891
+ "type": "string",
892
+ "description": "A link to open this file with the user's default app for this file. Only populated when the drive.apps.readonly scope is used."
893
+ },
894
+ "description": {
895
+ "type": "string",
896
+ "description": "A short description of the file."
897
+ },
898
+ "downloadUrl": {
899
+ "type": "string",
900
+ "description": "Short lived download URL for the file. This is only populated for files with content stored in Drive."
901
+ },
902
+ "editable": {
903
+ "type": "boolean",
904
+ "description": "Whether the file can be edited by the current user."
905
+ },
906
+ "embedLink": {
907
+ "type": "string",
908
+ "description": "A link for embedding the file."
909
+ },
910
+ "etag": {
911
+ "type": "string",
912
+ "description": "ETag of the file."
913
+ },
914
+ "explicitlyTrashed": {
915
+ "type": "boolean",
916
+ "description": "Whether this file has been explicitly trashed, as opposed to recursively trashed. This will only be populated if the file is trashed."
917
+ },
918
+ "exportLinks": {
919
+ "type": "object",
920
+ "description": "Links for exporting Google Docs to specific formats.",
921
+ "additionalProperties": {
922
+ "type": "string",
923
+ "description": "A mapping from export format to URL"
924
+ }
925
+ },
926
+ "fileExtension": {
927
+ "type": "string",
928
+ "description": "The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive."
929
+ },
930
+ "fileSize": {
931
+ "type": "string",
932
+ "description": "The size of the file in bytes. This is only populated for files with content stored in Drive.",
933
+ "format": "int64"
934
+ },
935
+ "headRevisionId": {
936
+ "type": "string",
937
+ "description": "The ID of the file's head revision. This will only be populated for files with content stored in Drive."
938
+ },
939
+ "iconLink": {
940
+ "type": "string",
941
+ "description": "A link to the file's icon."
942
+ },
943
+ "id": {
944
+ "type": "string",
945
+ "description": "The ID of the file."
946
+ },
947
+ "imageMediaMetadata": {
948
+ "type": "object",
949
+ "description": "Metadata about image media. This will only be present for image types, and its contents will depend on what can be parsed from the image content.",
950
+ "properties": {
951
+ "aperture": {
952
+ "type": "number",
953
+ "description": "The aperture used to create the photo (f-number).",
954
+ "format": "float"
955
+ },
956
+ "cameraMake": {
957
+ "type": "string",
958
+ "description": "The make of the camera used to create the photo."
959
+ },
960
+ "cameraModel": {
961
+ "type": "string",
962
+ "description": "The model of the camera used to create the photo."
963
+ },
964
+ "colorSpace": {
965
+ "type": "string",
966
+ "description": "The color space of the photo."
967
+ },
968
+ "date": {
969
+ "type": "string",
970
+ "description": "The date and time the photo was taken (EXIF format timestamp)."
971
+ },
972
+ "exposureBias": {
973
+ "type": "number",
974
+ "description": "The exposure bias of the photo (APEX value).",
975
+ "format": "float"
976
+ },
977
+ "exposureMode": {
978
+ "type": "string",
979
+ "description": "The exposure mode used to create the photo."
980
+ },
981
+ "exposureTime": {
982
+ "type": "number",
983
+ "description": "The length of the exposure, in seconds.",
984
+ "format": "float"
985
+ },
986
+ "flashUsed": {
987
+ "type": "boolean",
988
+ "description": "Whether a flash was used to create the photo."
989
+ },
990
+ "focalLength": {
991
+ "type": "number",
992
+ "description": "The focal length used to create the photo, in millimeters.",
993
+ "format": "float"
994
+ },
995
+ "height": {
996
+ "type": "integer",
997
+ "description": "The height of the image in pixels.",
998
+ "format": "int32"
999
+ },
1000
+ "isoSpeed": {
1001
+ "type": "integer",
1002
+ "description": "The ISO speed used to create the photo.",
1003
+ "format": "int32"
1004
+ },
1005
+ "lens": {
1006
+ "type": "string",
1007
+ "description": "The lens used to create the photo."
1008
+ },
1009
+ "location": {
1010
+ "type": "object",
1011
+ "description": "Geographic location information stored in the image.",
1012
+ "properties": {
1013
+ "altitude": {
1014
+ "type": "number",
1015
+ "description": "The altitude stored in the image.",
1016
+ "format": "double"
1017
+ },
1018
+ "latitude": {
1019
+ "type": "number",
1020
+ "description": "The latitude stored in the image.",
1021
+ "format": "double"
1022
+ },
1023
+ "longitude": {
1024
+ "type": "number",
1025
+ "description": "The longitude stored in the image.",
1026
+ "format": "double"
1027
+ }
1028
+ }
1029
+ },
1030
+ "maxApertureValue": {
1031
+ "type": "number",
1032
+ "description": "The smallest f-number of the lens at the focal length used to create the photo (APEX value).",
1033
+ "format": "float"
1034
+ },
1035
+ "meteringMode": {
1036
+ "type": "string",
1037
+ "description": "The metering mode used to create the photo."
1038
+ },
1039
+ "rotation": {
1040
+ "type": "integer",
1041
+ "description": "The rotation in clockwise degrees from the image's original orientation.",
1042
+ "format": "int32"
1043
+ },
1044
+ "sensor": {
1045
+ "type": "string",
1046
+ "description": "The type of sensor used to create the photo."
1047
+ },
1048
+ "subjectDistance": {
1049
+ "type": "integer",
1050
+ "description": "The distance to the subject of the photo, in meters.",
1051
+ "format": "int32"
1052
+ },
1053
+ "whiteBalance": {
1054
+ "type": "string",
1055
+ "description": "The white balance mode used to create the photo."
1056
+ },
1057
+ "width": {
1058
+ "type": "integer",
1059
+ "description": "The width of the image in pixels.",
1060
+ "format": "int32"
1061
+ }
1062
+ }
1063
+ },
1064
+ "indexableText": {
1065
+ "type": "object",
1066
+ "description": "Indexable text attributes for the file (can only be written)",
1067
+ "properties": {
1068
+ "text": {
1069
+ "type": "string",
1070
+ "description": "The text to be indexed for this file."
1071
+ }
1072
+ }
1073
+ },
1074
+ "kind": {
1075
+ "type": "string",
1076
+ "description": "The type of file. This is always drive#file.",
1077
+ "default": "drive#file"
1078
+ },
1079
+ "labels": {
1080
+ "type": "object",
1081
+ "description": "A group of labels for the file.",
1082
+ "properties": {
1083
+ "hidden": {
1084
+ "type": "boolean",
1085
+ "description": "Whether this file is hidden from the user."
1086
+ },
1087
+ "restricted": {
1088
+ "type": "boolean",
1089
+ "description": "Whether viewers are prevented from downloading this file."
1090
+ },
1091
+ "starred": {
1092
+ "type": "boolean",
1093
+ "description": "Whether this file is starred by the user."
1094
+ },
1095
+ "trashed": {
1096
+ "type": "boolean",
1097
+ "description": "Whether this file has been trashed."
1098
+ },
1099
+ "viewed": {
1100
+ "type": "boolean",
1101
+ "description": "Whether this file has been viewed by this user."
1102
+ }
1103
+ }
1104
+ },
1105
+ "lastModifyingUser": {
1106
+ "$ref": "User",
1107
+ "description": "The last user to modify this file."
1108
+ },
1109
+ "lastModifyingUserName": {
1110
+ "type": "string",
1111
+ "description": "Name of the last user to modify this file."
1112
+ },
1113
+ "lastViewedByMeDate": {
1114
+ "type": "string",
1115
+ "description": "Last time this file was viewed by the user (formatted RFC 3339 timestamp).",
1116
+ "format": "date-time"
1117
+ },
1118
+ "md5Checksum": {
1119
+ "type": "string",
1120
+ "description": "An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive."
1121
+ },
1122
+ "mimeType": {
1123
+ "type": "string",
1124
+ "description": "The MIME type of the file. This is only mutable on update when uploading new content. This field can be left blank, and the mimetype will be determined from the uploaded content's MIME type."
1125
+ },
1126
+ "modifiedByMeDate": {
1127
+ "type": "string",
1128
+ "description": "Last time this file was modified by the user (formatted RFC 3339 timestamp). Note that setting modifiedDate will also update the modifiedByMe date for the user which set the date.",
1129
+ "format": "date-time"
1130
+ },
1131
+ "modifiedDate": {
1132
+ "type": "string",
1133
+ "description": "Last time this file was modified by anyone (formatted RFC 3339 timestamp). This is only mutable on update when the setModifiedDate parameter is set.",
1134
+ "format": "date-time"
1135
+ },
1136
+ "openWithLinks": {
1137
+ "type": "object",
1138
+ "description": "A map of the id of each of the user's apps to a link to open this file with that app. Only populated when the drive.apps.readonly scope is used.",
1139
+ "additionalProperties": {
1140
+ "type": "string"
1141
+ }
1142
+ },
1143
+ "originalFilename": {
1144
+ "type": "string",
1145
+ "description": "The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive."
1146
+ },
1147
+ "ownerNames": {
1148
+ "type": "array",
1149
+ "description": "Name(s) of the owner(s) of this file.",
1150
+ "items": {
1151
+ "type": "string"
1152
+ }
1153
+ },
1154
+ "owners": {
1155
+ "type": "array",
1156
+ "description": "The owner(s) of this file.",
1157
+ "items": {
1158
+ "$ref": "User"
1159
+ }
1160
+ },
1161
+ "parents": {
1162
+ "type": "array",
1163
+ "description": "Collection of parent folders which contain this file.\nSetting this field will put the file in all of the provided folders. On insert, if no folders are provided, the file will be placed in the default root folder.",
1164
+ "items": {
1165
+ "$ref": "ParentReference"
1166
+ }
1167
+ },
1168
+ "properties": {
1169
+ "type": "array",
1170
+ "description": "The list of properties.",
1171
+ "items": {
1172
+ "$ref": "Property"
1173
+ }
1174
+ },
1175
+ "quotaBytesUsed": {
1176
+ "type": "string",
1177
+ "description": "The number of quota bytes used by this file.",
1178
+ "format": "int64"
1179
+ },
1180
+ "selfLink": {
1181
+ "type": "string",
1182
+ "description": "A link back to this file."
1183
+ },
1184
+ "shared": {
1185
+ "type": "boolean",
1186
+ "description": "Whether the file has been shared."
1187
+ },
1188
+ "sharedWithMeDate": {
1189
+ "type": "string",
1190
+ "description": "Time at which this file was shared with the user (formatted RFC 3339 timestamp).",
1191
+ "format": "date-time"
1192
+ },
1193
+ "thumbnail": {
1194
+ "type": "object",
1195
+ "description": "Thumbnail for the file. Only accepted on upload and for files that are not already thumbnailed by Google.",
1196
+ "properties": {
1197
+ "image": {
1198
+ "type": "string",
1199
+ "description": "The URL-safe Base64 encoded bytes of the thumbnail image.",
1200
+ "format": "byte"
1201
+ },
1202
+ "mimeType": {
1203
+ "type": "string",
1204
+ "description": "The MIME type of the thumbnail."
1205
+ }
1206
+ }
1207
+ },
1208
+ "thumbnailLink": {
1209
+ "type": "string",
1210
+ "description": "A link to the file's thumbnail."
1211
+ },
1212
+ "title": {
1213
+ "type": "string",
1214
+ "description": "The title of this file."
1215
+ },
1216
+ "userPermission": {
1217
+ "$ref": "Permission",
1218
+ "description": "The permissions for the authenticated user on this file."
1219
+ },
1220
+ "webContentLink": {
1221
+ "type": "string",
1222
+ "description": "A link for downloading the content of the file in a browser using cookie based authentication. In cases where the content is shared publicly, the content can be downloaded without any credentials."
1223
+ },
1224
+ "webViewLink": {
1225
+ "type": "string",
1226
+ "description": "A link only available on public folders for viewing their static web assets (HTML, CSS, JS, etc) via Google Drive's Website Hosting."
1227
+ },
1228
+ "writersCanShare": {
1229
+ "type": "boolean",
1230
+ "description": "Whether writers can share the document with other users."
1231
+ }
1232
+ }
1233
+ },
1234
+ "FileList": {
1235
+ "id": "FileList",
1236
+ "type": "object",
1237
+ "description": "A list of files.",
1238
+ "properties": {
1239
+ "etag": {
1240
+ "type": "string",
1241
+ "description": "The ETag of the list."
1242
+ },
1243
+ "items": {
1244
+ "type": "array",
1245
+ "description": "The actual list of files.",
1246
+ "items": {
1247
+ "$ref": "File"
1248
+ }
1249
+ },
1250
+ "kind": {
1251
+ "type": "string",
1252
+ "description": "This is always drive#fileList.",
1253
+ "default": "drive#fileList"
1254
+ },
1255
+ "nextLink": {
1256
+ "type": "string",
1257
+ "description": "A link to the next page of files."
1258
+ },
1259
+ "nextPageToken": {
1260
+ "type": "string",
1261
+ "description": "The page token for the next page of files."
1262
+ },
1263
+ "selfLink": {
1264
+ "type": "string",
1265
+ "description": "A link back to this list."
1266
+ }
1267
+ }
1268
+ },
1269
+ "ParentList": {
1270
+ "id": "ParentList",
1271
+ "type": "object",
1272
+ "description": "A list of a file's parents.",
1273
+ "properties": {
1274
+ "etag": {
1275
+ "type": "string",
1276
+ "description": "The ETag of the list."
1277
+ },
1278
+ "items": {
1279
+ "type": "array",
1280
+ "description": "The actual list of parents.",
1281
+ "items": {
1282
+ "$ref": "ParentReference"
1283
+ }
1284
+ },
1285
+ "kind": {
1286
+ "type": "string",
1287
+ "description": "This is always drive#parentList.",
1288
+ "default": "drive#parentList"
1289
+ },
1290
+ "selfLink": {
1291
+ "type": "string",
1292
+ "description": "A link back to this list."
1293
+ }
1294
+ }
1295
+ },
1296
+ "ParentReference": {
1297
+ "id": "ParentReference",
1298
+ "type": "object",
1299
+ "description": "A reference to a file's parent.",
1300
+ "properties": {
1301
+ "id": {
1302
+ "type": "string",
1303
+ "description": "The ID of the parent.",
1304
+ "annotations": {
1305
+ "required": [
1306
+ "drive.parents.insert"
1307
+ ]
1308
+ }
1309
+ },
1310
+ "isRoot": {
1311
+ "type": "boolean",
1312
+ "description": "Whether or not the parent is the root folder."
1313
+ },
1314
+ "kind": {
1315
+ "type": "string",
1316
+ "description": "This is always drive#parentReference.",
1317
+ "default": "drive#parentReference"
1318
+ },
1319
+ "parentLink": {
1320
+ "type": "string",
1321
+ "description": "A link to the parent."
1322
+ },
1323
+ "selfLink": {
1324
+ "type": "string",
1325
+ "description": "A link back to this reference."
1326
+ }
1327
+ }
1328
+ },
1329
+ "Permission": {
1330
+ "id": "Permission",
1331
+ "type": "object",
1332
+ "description": "A permission for a file.",
1333
+ "properties": {
1334
+ "additionalRoles": {
1335
+ "type": "array",
1336
+ "description": "Additional roles for this user. Only commenter is currently allowed.",
1337
+ "items": {
1338
+ "type": "string"
1339
+ }
1340
+ },
1341
+ "authKey": {
1342
+ "type": "string",
1343
+ "description": "The authkey parameter required for this permission."
1344
+ },
1345
+ "domain": {
1346
+ "type": "string",
1347
+ "description": "The domain name of the entity this permission refers to. This is an output-only field which is populated when the permission type is \"user\", \"group\" or \"domain\"."
1348
+ },
1349
+ "emailAddress": {
1350
+ "type": "string",
1351
+ "description": "The email address of the user this permission refers to. This is an output-only field which is populated when the permission type is \"user\" and the given user's Google+ profile privacy settings allow exposing their email address."
1352
+ },
1353
+ "etag": {
1354
+ "type": "string",
1355
+ "description": "The ETag of the permission."
1356
+ },
1357
+ "id": {
1358
+ "type": "string",
1359
+ "description": "The ID of the permission."
1360
+ },
1361
+ "kind": {
1362
+ "type": "string",
1363
+ "description": "This is always drive#permission.",
1364
+ "default": "drive#permission"
1365
+ },
1366
+ "name": {
1367
+ "type": "string",
1368
+ "description": "The name for this permission."
1369
+ },
1370
+ "photoLink": {
1371
+ "type": "string",
1372
+ "description": "A link to the profile photo, if available."
1373
+ },
1374
+ "role": {
1375
+ "type": "string",
1376
+ "description": "The primary role for this user. Allowed values are: \n- owner \n- reader \n- writer",
1377
+ "annotations": {
1378
+ "required": [
1379
+ "drive.permissions.insert"
1380
+ ]
1381
+ }
1382
+ },
1383
+ "selfLink": {
1384
+ "type": "string",
1385
+ "description": "A link back to this permission."
1386
+ },
1387
+ "type": {
1388
+ "type": "string",
1389
+ "description": "The account type. Allowed values are: \n- user \n- group \n- domain \n- anyone",
1390
+ "annotations": {
1391
+ "required": [
1392
+ "drive.permissions.insert"
1393
+ ]
1394
+ }
1395
+ },
1396
+ "value": {
1397
+ "type": "string",
1398
+ "description": "The email address or domain name for the entity. This is used during inserts and is not populated in responses.",
1399
+ "annotations": {
1400
+ "required": [
1401
+ "drive.permissions.insert"
1402
+ ]
1403
+ }
1404
+ },
1405
+ "withLink": {
1406
+ "type": "boolean",
1407
+ "description": "Whether the link is required for this permission."
1408
+ }
1409
+ }
1410
+ },
1411
+ "PermissionId": {
1412
+ "id": "PermissionId",
1413
+ "type": "object",
1414
+ "description": "An ID for a user or group as seen in Permission items.",
1415
+ "properties": {
1416
+ "id": {
1417
+ "type": "string",
1418
+ "description": "The permission ID."
1419
+ },
1420
+ "kind": {
1421
+ "type": "string",
1422
+ "description": "This is always drive#permissionId.",
1423
+ "default": "drive#permissionId"
1424
+ }
1425
+ }
1426
+ },
1427
+ "PermissionList": {
1428
+ "id": "PermissionList",
1429
+ "type": "object",
1430
+ "description": "A list of permissions associated with a file.",
1431
+ "properties": {
1432
+ "etag": {
1433
+ "type": "string",
1434
+ "description": "The ETag of the list."
1435
+ },
1436
+ "items": {
1437
+ "type": "array",
1438
+ "description": "The actual list of permissions.",
1439
+ "items": {
1440
+ "$ref": "Permission"
1441
+ }
1442
+ },
1443
+ "kind": {
1444
+ "type": "string",
1445
+ "description": "This is always drive#permissionList.",
1446
+ "default": "drive#permissionList"
1447
+ },
1448
+ "selfLink": {
1449
+ "type": "string",
1450
+ "description": "A link back to this list."
1451
+ }
1452
+ }
1453
+ },
1454
+ "Property": {
1455
+ "id": "Property",
1456
+ "type": "object",
1457
+ "description": "A key-value pair that is either public or private to an application.",
1458
+ "properties": {
1459
+ "etag": {
1460
+ "type": "string",
1461
+ "description": "ETag of the property."
1462
+ },
1463
+ "key": {
1464
+ "type": "string",
1465
+ "description": "The key of this property."
1466
+ },
1467
+ "kind": {
1468
+ "type": "string",
1469
+ "description": "This is always drive#property.",
1470
+ "default": "drive#property"
1471
+ },
1472
+ "selfLink": {
1473
+ "type": "string",
1474
+ "description": "The link back to this property."
1475
+ },
1476
+ "value": {
1477
+ "type": "string",
1478
+ "description": "The value of this property."
1479
+ },
1480
+ "visibility": {
1481
+ "type": "string",
1482
+ "description": "The visibility of this property."
1483
+ }
1484
+ }
1485
+ },
1486
+ "PropertyList": {
1487
+ "id": "PropertyList",
1488
+ "type": "object",
1489
+ "description": "A collection of properties, key-value pairs that are either public or private to an application.",
1490
+ "properties": {
1491
+ "etag": {
1492
+ "type": "string",
1493
+ "description": "The ETag of the list."
1494
+ },
1495
+ "items": {
1496
+ "type": "array",
1497
+ "description": "The list of properties.",
1498
+ "items": {
1499
+ "$ref": "Property"
1500
+ }
1501
+ },
1502
+ "kind": {
1503
+ "type": "string",
1504
+ "description": "This is always drive#propertyList.",
1505
+ "default": "drive#propertyList"
1506
+ },
1507
+ "selfLink": {
1508
+ "type": "string",
1509
+ "description": "The link back to this list."
1510
+ }
1511
+ }
1512
+ },
1513
+ "Revision": {
1514
+ "id": "Revision",
1515
+ "type": "object",
1516
+ "description": "A revision of a file.",
1517
+ "properties": {
1518
+ "downloadUrl": {
1519
+ "type": "string",
1520
+ "description": "Short term download URL for the file. This will only be populated on files with content stored in Drive."
1521
+ },
1522
+ "etag": {
1523
+ "type": "string",
1524
+ "description": "The ETag of the revision."
1525
+ },
1526
+ "exportLinks": {
1527
+ "type": "object",
1528
+ "description": "Links for exporting Google Docs to specific formats.",
1529
+ "additionalProperties": {
1530
+ "type": "string",
1531
+ "description": "A mapping from export format to URL"
1532
+ }
1533
+ },
1534
+ "fileSize": {
1535
+ "type": "string",
1536
+ "description": "The size of the revision in bytes. This will only be populated on files with content stored in Drive.",
1537
+ "format": "int64"
1538
+ },
1539
+ "id": {
1540
+ "type": "string",
1541
+ "description": "The ID of the revision."
1542
+ },
1543
+ "kind": {
1544
+ "type": "string",
1545
+ "description": "This is always drive#revision.",
1546
+ "default": "drive#revision"
1547
+ },
1548
+ "lastModifyingUser": {
1549
+ "$ref": "User",
1550
+ "description": "The last user to modify this revision."
1551
+ },
1552
+ "lastModifyingUserName": {
1553
+ "type": "string",
1554
+ "description": "Name of the last user to modify this revision."
1555
+ },
1556
+ "md5Checksum": {
1557
+ "type": "string",
1558
+ "description": "An MD5 checksum for the content of this revision. This will only be populated on files with content stored in Drive."
1559
+ },
1560
+ "mimeType": {
1561
+ "type": "string",
1562
+ "description": "The MIME type of the revision."
1563
+ },
1564
+ "modifiedDate": {
1565
+ "type": "string",
1566
+ "description": "Last time this revision was modified (formatted RFC 3339 timestamp).",
1567
+ "format": "date-time"
1568
+ },
1569
+ "originalFilename": {
1570
+ "type": "string",
1571
+ "description": "The original filename when this revision was created. This will only be populated on files with content stored in Drive."
1572
+ },
1573
+ "pinned": {
1574
+ "type": "boolean",
1575
+ "description": "Whether this revision is pinned to prevent automatic purging. This will only be populated and can only be modified on files with content stored in Drive which are not Google Docs. Revisions can also be pinned when they are created through the drive.files.insert/update/copy by using the pinned query parameter."
1576
+ },
1577
+ "publishAuto": {
1578
+ "type": "boolean",
1579
+ "description": "Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Google Docs."
1580
+ },
1581
+ "published": {
1582
+ "type": "boolean",
1583
+ "description": "Whether this revision is published. This is only populated and can only be modified for Google Docs."
1584
+ },
1585
+ "publishedLink": {
1586
+ "type": "string",
1587
+ "description": "A link to the published revision."
1588
+ },
1589
+ "publishedOutsideDomain": {
1590
+ "type": "boolean",
1591
+ "description": "Whether this revision is published outside the domain. This is only populated and can only be modified for Google Docs."
1592
+ },
1593
+ "selfLink": {
1594
+ "type": "string",
1595
+ "description": "A link back to this revision."
1596
+ }
1597
+ }
1598
+ },
1599
+ "RevisionList": {
1600
+ "id": "RevisionList",
1601
+ "type": "object",
1602
+ "description": "A list of revisions of a file.",
1603
+ "properties": {
1604
+ "etag": {
1605
+ "type": "string",
1606
+ "description": "The ETag of the list."
1607
+ },
1608
+ "items": {
1609
+ "type": "array",
1610
+ "description": "The actual list of revisions.",
1611
+ "items": {
1612
+ "$ref": "Revision"
1613
+ }
1614
+ },
1615
+ "kind": {
1616
+ "type": "string",
1617
+ "description": "This is always drive#revisionList.",
1618
+ "default": "drive#revisionList"
1619
+ },
1620
+ "selfLink": {
1621
+ "type": "string",
1622
+ "description": "A link back to this list."
1623
+ }
1624
+ }
1625
+ },
1626
+ "User": {
1627
+ "id": "User",
1628
+ "type": "object",
1629
+ "description": "The JSON template for a user.",
1630
+ "properties": {
1631
+ "displayName": {
1632
+ "type": "string",
1633
+ "description": "A plain text displayable name for this user."
1634
+ },
1635
+ "isAuthenticatedUser": {
1636
+ "type": "boolean",
1637
+ "description": "Whether this user is the same as the authenticated user for whom the request was made."
1638
+ },
1639
+ "kind": {
1640
+ "type": "string",
1641
+ "description": "This is always drive#user.",
1642
+ "default": "drive#user"
1643
+ },
1644
+ "permissionId": {
1645
+ "type": "string",
1646
+ "description": "The user's ID as visible in the permissions collection."
1647
+ },
1648
+ "picture": {
1649
+ "type": "object",
1650
+ "description": "The user's profile picture.",
1651
+ "properties": {
1652
+ "url": {
1653
+ "type": "string",
1654
+ "description": "A URL that points to a profile picture of this user."
1655
+ }
1656
+ }
1657
+ }
1658
+ }
1659
+ }
1660
+ },
1661
+ "resources": {
1662
+ "about": {
1663
+ "methods": {
1664
+ "get": {
1665
+ "id": "drive.about.get",
1666
+ "path": "about",
1667
+ "httpMethod": "GET",
1668
+ "description": "Gets the information about the current user along with Drive API settings",
1669
+ "parameters": {
1670
+ "includeSubscribed": {
1671
+ "type": "boolean",
1672
+ "description": "When calculating the number of remaining change IDs, whether to include shared files and public files the user has opened. When set to false, this counts only change IDs for owned files and any shared or public files that the user has explictly added to a folder in Drive.",
1673
+ "default": "true",
1674
+ "location": "query"
1675
+ },
1676
+ "maxChangeIdCount": {
1677
+ "type": "string",
1678
+ "description": "Maximum number of remaining change IDs to count",
1679
+ "default": "1",
1680
+ "format": "int64",
1681
+ "location": "query"
1682
+ },
1683
+ "startChangeId": {
1684
+ "type": "string",
1685
+ "description": "Change ID to start counting from when calculating number of remaining change IDs",
1686
+ "format": "int64",
1687
+ "location": "query"
1688
+ }
1689
+ },
1690
+ "response": {
1691
+ "$ref": "About"
1692
+ },
1693
+ "scopes": [
1694
+ "https://www.googleapis.com/auth/drive",
1695
+ "https://www.googleapis.com/auth/drive.appdata",
1696
+ "https://www.googleapis.com/auth/drive.file",
1697
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
1698
+ "https://www.googleapis.com/auth/drive.readonly"
1699
+ ]
1700
+ }
1701
+ }
1702
+ },
1703
+ "apps": {
1704
+ "methods": {
1705
+ "get": {
1706
+ "id": "drive.apps.get",
1707
+ "path": "apps/{appId}",
1708
+ "httpMethod": "GET",
1709
+ "description": "Gets a specific app.",
1710
+ "parameters": {
1711
+ "appId": {
1712
+ "type": "string",
1713
+ "description": "The ID of the app.",
1714
+ "required": true,
1715
+ "location": "path"
1716
+ }
1717
+ },
1718
+ "parameterOrder": [
1719
+ "appId"
1720
+ ],
1721
+ "response": {
1722
+ "$ref": "App"
1723
+ },
1724
+ "scopes": [
1725
+ "https://www.googleapis.com/auth/drive.apps.readonly"
1726
+ ]
1727
+ },
1728
+ "list": {
1729
+ "id": "drive.apps.list",
1730
+ "path": "apps",
1731
+ "httpMethod": "GET",
1732
+ "description": "Lists a user's installed apps.",
1733
+ "response": {
1734
+ "$ref": "AppList"
1735
+ },
1736
+ "scopes": [
1737
+ "https://www.googleapis.com/auth/drive.apps.readonly"
1738
+ ]
1739
+ }
1740
+ }
1741
+ },
1742
+ "changes": {
1743
+ "methods": {
1744
+ "get": {
1745
+ "id": "drive.changes.get",
1746
+ "path": "changes/{changeId}",
1747
+ "httpMethod": "GET",
1748
+ "description": "Gets a specific change.",
1749
+ "parameters": {
1750
+ "changeId": {
1751
+ "type": "string",
1752
+ "description": "The ID of the change.",
1753
+ "required": true,
1754
+ "location": "path"
1755
+ }
1756
+ },
1757
+ "parameterOrder": [
1758
+ "changeId"
1759
+ ],
1760
+ "response": {
1761
+ "$ref": "Change"
1762
+ },
1763
+ "scopes": [
1764
+ "https://www.googleapis.com/auth/drive",
1765
+ "https://www.googleapis.com/auth/drive.appdata",
1766
+ "https://www.googleapis.com/auth/drive.apps.readonly",
1767
+ "https://www.googleapis.com/auth/drive.file",
1768
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
1769
+ "https://www.googleapis.com/auth/drive.readonly"
1770
+ ]
1771
+ },
1772
+ "list": {
1773
+ "id": "drive.changes.list",
1774
+ "path": "changes",
1775
+ "httpMethod": "GET",
1776
+ "description": "Lists the changes for a user.",
1777
+ "parameters": {
1778
+ "includeDeleted": {
1779
+ "type": "boolean",
1780
+ "description": "Whether to include deleted items.",
1781
+ "default": "true",
1782
+ "location": "query"
1783
+ },
1784
+ "includeSubscribed": {
1785
+ "type": "boolean",
1786
+ "description": "Whether to include shared files and public files the user has opened. When set to false, the list will include owned files plus any shared or public files the user has explictly added to a folder in Drive.",
1787
+ "default": "true",
1788
+ "location": "query"
1789
+ },
1790
+ "maxResults": {
1791
+ "type": "integer",
1792
+ "description": "Maximum number of changes to return.",
1793
+ "default": "100",
1794
+ "format": "int32",
1795
+ "minimum": "1",
1796
+ "location": "query"
1797
+ },
1798
+ "pageToken": {
1799
+ "type": "string",
1800
+ "description": "Page token for changes.",
1801
+ "location": "query"
1802
+ },
1803
+ "startChangeId": {
1804
+ "type": "string",
1805
+ "description": "Change ID to start listing changes from.",
1806
+ "format": "int64",
1807
+ "location": "query"
1808
+ }
1809
+ },
1810
+ "response": {
1811
+ "$ref": "ChangeList"
1812
+ },
1813
+ "scopes": [
1814
+ "https://www.googleapis.com/auth/drive",
1815
+ "https://www.googleapis.com/auth/drive.appdata",
1816
+ "https://www.googleapis.com/auth/drive.apps.readonly",
1817
+ "https://www.googleapis.com/auth/drive.file",
1818
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
1819
+ "https://www.googleapis.com/auth/drive.readonly"
1820
+ ],
1821
+ "supportsSubscription": true
1822
+ },
1823
+ "watch": {
1824
+ "id": "drive.changes.watch",
1825
+ "path": "changes/watch",
1826
+ "httpMethod": "POST",
1827
+ "description": "Subscribe to changes for a user.",
1828
+ "parameters": {
1829
+ "includeDeleted": {
1830
+ "type": "boolean",
1831
+ "description": "Whether to include deleted items.",
1832
+ "default": "true",
1833
+ "location": "query"
1834
+ },
1835
+ "includeSubscribed": {
1836
+ "type": "boolean",
1837
+ "description": "Whether to include shared files and public files the user has opened. When set to false, the list will include owned files plus any shared or public files the user has explictly added to a folder in Drive.",
1838
+ "default": "true",
1839
+ "location": "query"
1840
+ },
1841
+ "maxResults": {
1842
+ "type": "integer",
1843
+ "description": "Maximum number of changes to return.",
1844
+ "default": "100",
1845
+ "format": "int32",
1846
+ "minimum": "1",
1847
+ "location": "query"
1848
+ },
1849
+ "pageToken": {
1850
+ "type": "string",
1851
+ "description": "Page token for changes.",
1852
+ "location": "query"
1853
+ },
1854
+ "startChangeId": {
1855
+ "type": "string",
1856
+ "description": "Change ID to start listing changes from.",
1857
+ "format": "int64",
1858
+ "location": "query"
1859
+ }
1860
+ },
1861
+ "request": {
1862
+ "$ref": "Channel",
1863
+ "parameterName": "resource"
1864
+ },
1865
+ "response": {
1866
+ "$ref": "Channel"
1867
+ },
1868
+ "scopes": [
1869
+ "https://www.googleapis.com/auth/drive",
1870
+ "https://www.googleapis.com/auth/drive.appdata",
1871
+ "https://www.googleapis.com/auth/drive.apps.readonly",
1872
+ "https://www.googleapis.com/auth/drive.file",
1873
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
1874
+ "https://www.googleapis.com/auth/drive.readonly"
1875
+ ],
1876
+ "supportsSubscription": true
1877
+ }
1878
+ }
1879
+ },
1880
+ "channels": {
1881
+ "methods": {
1882
+ "stop": {
1883
+ "id": "drive.channels.stop",
1884
+ "path": "channels/stop",
1885
+ "httpMethod": "POST",
1886
+ "description": "Stop watching resources through this channel",
1887
+ "request": {
1888
+ "$ref": "Channel",
1889
+ "parameterName": "resource"
1890
+ },
1891
+ "scopes": [
1892
+ "https://www.googleapis.com/auth/drive",
1893
+ "https://www.googleapis.com/auth/drive.appdata",
1894
+ "https://www.googleapis.com/auth/drive.apps.readonly",
1895
+ "https://www.googleapis.com/auth/drive.file",
1896
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
1897
+ "https://www.googleapis.com/auth/drive.readonly"
1898
+ ]
1899
+ }
1900
+ }
1901
+ },
1902
+ "children": {
1903
+ "methods": {
1904
+ "delete": {
1905
+ "id": "drive.children.delete",
1906
+ "path": "files/{folderId}/children/{childId}",
1907
+ "httpMethod": "DELETE",
1908
+ "description": "Removes a child from a folder.",
1909
+ "parameters": {
1910
+ "childId": {
1911
+ "type": "string",
1912
+ "description": "The ID of the child.",
1913
+ "required": true,
1914
+ "location": "path"
1915
+ },
1916
+ "folderId": {
1917
+ "type": "string",
1918
+ "description": "The ID of the folder.",
1919
+ "required": true,
1920
+ "location": "path"
1921
+ }
1922
+ },
1923
+ "parameterOrder": [
1924
+ "folderId",
1925
+ "childId"
1926
+ ],
1927
+ "scopes": [
1928
+ "https://www.googleapis.com/auth/drive",
1929
+ "https://www.googleapis.com/auth/drive.file"
1930
+ ]
1931
+ },
1932
+ "get": {
1933
+ "id": "drive.children.get",
1934
+ "path": "files/{folderId}/children/{childId}",
1935
+ "httpMethod": "GET",
1936
+ "description": "Gets a specific child reference.",
1937
+ "parameters": {
1938
+ "childId": {
1939
+ "type": "string",
1940
+ "description": "The ID of the child.",
1941
+ "required": true,
1942
+ "location": "path"
1943
+ },
1944
+ "folderId": {
1945
+ "type": "string",
1946
+ "description": "The ID of the folder.",
1947
+ "required": true,
1948
+ "location": "path"
1949
+ }
1950
+ },
1951
+ "parameterOrder": [
1952
+ "folderId",
1953
+ "childId"
1954
+ ],
1955
+ "response": {
1956
+ "$ref": "ChildReference"
1957
+ },
1958
+ "scopes": [
1959
+ "https://www.googleapis.com/auth/drive",
1960
+ "https://www.googleapis.com/auth/drive.appdata",
1961
+ "https://www.googleapis.com/auth/drive.file",
1962
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
1963
+ "https://www.googleapis.com/auth/drive.readonly"
1964
+ ]
1965
+ },
1966
+ "insert": {
1967
+ "id": "drive.children.insert",
1968
+ "path": "files/{folderId}/children",
1969
+ "httpMethod": "POST",
1970
+ "description": "Inserts a file into a folder.",
1971
+ "parameters": {
1972
+ "folderId": {
1973
+ "type": "string",
1974
+ "description": "The ID of the folder.",
1975
+ "required": true,
1976
+ "location": "path"
1977
+ }
1978
+ },
1979
+ "parameterOrder": [
1980
+ "folderId"
1981
+ ],
1982
+ "request": {
1983
+ "$ref": "ChildReference"
1984
+ },
1985
+ "response": {
1986
+ "$ref": "ChildReference"
1987
+ },
1988
+ "scopes": [
1989
+ "https://www.googleapis.com/auth/drive",
1990
+ "https://www.googleapis.com/auth/drive.appdata",
1991
+ "https://www.googleapis.com/auth/drive.file"
1992
+ ]
1993
+ },
1994
+ "list": {
1995
+ "id": "drive.children.list",
1996
+ "path": "files/{folderId}/children",
1997
+ "httpMethod": "GET",
1998
+ "description": "Lists a folder's children.",
1999
+ "parameters": {
2000
+ "folderId": {
2001
+ "type": "string",
2002
+ "description": "The ID of the folder.",
2003
+ "required": true,
2004
+ "location": "path"
2005
+ },
2006
+ "maxResults": {
2007
+ "type": "integer",
2008
+ "description": "Maximum number of children to return.",
2009
+ "default": "100",
2010
+ "format": "int32",
2011
+ "minimum": "0",
2012
+ "location": "query"
2013
+ },
2014
+ "pageToken": {
2015
+ "type": "string",
2016
+ "description": "Page token for children.",
2017
+ "location": "query"
2018
+ },
2019
+ "q": {
2020
+ "type": "string",
2021
+ "description": "Query string for searching children.",
2022
+ "location": "query"
2023
+ }
2024
+ },
2025
+ "parameterOrder": [
2026
+ "folderId"
2027
+ ],
2028
+ "response": {
2029
+ "$ref": "ChildList"
2030
+ },
2031
+ "scopes": [
2032
+ "https://www.googleapis.com/auth/drive",
2033
+ "https://www.googleapis.com/auth/drive.appdata",
2034
+ "https://www.googleapis.com/auth/drive.file",
2035
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
2036
+ "https://www.googleapis.com/auth/drive.readonly"
2037
+ ]
2038
+ }
2039
+ }
2040
+ },
2041
+ "comments": {
2042
+ "methods": {
2043
+ "delete": {
2044
+ "id": "drive.comments.delete",
2045
+ "path": "files/{fileId}/comments/{commentId}",
2046
+ "httpMethod": "DELETE",
2047
+ "description": "Deletes a comment.",
2048
+ "parameters": {
2049
+ "commentId": {
2050
+ "type": "string",
2051
+ "description": "The ID of the comment.",
2052
+ "required": true,
2053
+ "location": "path"
2054
+ },
2055
+ "fileId": {
2056
+ "type": "string",
2057
+ "description": "The ID of the file.",
2058
+ "required": true,
2059
+ "location": "path"
2060
+ }
2061
+ },
2062
+ "parameterOrder": [
2063
+ "fileId",
2064
+ "commentId"
2065
+ ],
2066
+ "scopes": [
2067
+ "https://www.googleapis.com/auth/drive",
2068
+ "https://www.googleapis.com/auth/drive.file",
2069
+ "https://www.googleapis.com/auth/drive.readonly"
2070
+ ]
2071
+ },
2072
+ "get": {
2073
+ "id": "drive.comments.get",
2074
+ "path": "files/{fileId}/comments/{commentId}",
2075
+ "httpMethod": "GET",
2076
+ "description": "Gets a comment by ID.",
2077
+ "parameters": {
2078
+ "commentId": {
2079
+ "type": "string",
2080
+ "description": "The ID of the comment.",
2081
+ "required": true,
2082
+ "location": "path"
2083
+ },
2084
+ "fileId": {
2085
+ "type": "string",
2086
+ "description": "The ID of the file.",
2087
+ "required": true,
2088
+ "location": "path"
2089
+ },
2090
+ "includeDeleted": {
2091
+ "type": "boolean",
2092
+ "description": "If set, this will succeed when retrieving a deleted comment, and will include any deleted replies.",
2093
+ "default": "false",
2094
+ "location": "query"
2095
+ }
2096
+ },
2097
+ "parameterOrder": [
2098
+ "fileId",
2099
+ "commentId"
2100
+ ],
2101
+ "response": {
2102
+ "$ref": "Comment"
2103
+ },
2104
+ "scopes": [
2105
+ "https://www.googleapis.com/auth/drive",
2106
+ "https://www.googleapis.com/auth/drive.file",
2107
+ "https://www.googleapis.com/auth/drive.readonly"
2108
+ ]
2109
+ },
2110
+ "insert": {
2111
+ "id": "drive.comments.insert",
2112
+ "path": "files/{fileId}/comments",
2113
+ "httpMethod": "POST",
2114
+ "description": "Creates a new comment on the given file.",
2115
+ "parameters": {
2116
+ "fileId": {
2117
+ "type": "string",
2118
+ "description": "The ID of the file.",
2119
+ "required": true,
2120
+ "location": "path"
2121
+ }
2122
+ },
2123
+ "parameterOrder": [
2124
+ "fileId"
2125
+ ],
2126
+ "request": {
2127
+ "$ref": "Comment"
2128
+ },
2129
+ "response": {
2130
+ "$ref": "Comment"
2131
+ },
2132
+ "scopes": [
2133
+ "https://www.googleapis.com/auth/drive",
2134
+ "https://www.googleapis.com/auth/drive.file",
2135
+ "https://www.googleapis.com/auth/drive.readonly"
2136
+ ]
2137
+ },
2138
+ "list": {
2139
+ "id": "drive.comments.list",
2140
+ "path": "files/{fileId}/comments",
2141
+ "httpMethod": "GET",
2142
+ "description": "Lists a file's comments.",
2143
+ "parameters": {
2144
+ "fileId": {
2145
+ "type": "string",
2146
+ "description": "The ID of the file.",
2147
+ "required": true,
2148
+ "location": "path"
2149
+ },
2150
+ "includeDeleted": {
2151
+ "type": "boolean",
2152
+ "description": "If set, all comments and replies, including deleted comments and replies (with content stripped) will be returned.",
2153
+ "default": "false",
2154
+ "location": "query"
2155
+ },
2156
+ "maxResults": {
2157
+ "type": "integer",
2158
+ "description": "The maximum number of discussions to include in the response, used for paging.",
2159
+ "default": "20",
2160
+ "format": "int32",
2161
+ "minimum": "0",
2162
+ "maximum": "100",
2163
+ "location": "query"
2164
+ },
2165
+ "pageToken": {
2166
+ "type": "string",
2167
+ "description": "The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
2168
+ "location": "query"
2169
+ },
2170
+ "updatedMin": {
2171
+ "type": "string",
2172
+ "description": "Only discussions that were updated after this timestamp will be returned. Formatted as an RFC 3339 timestamp.",
2173
+ "location": "query"
2174
+ }
2175
+ },
2176
+ "parameterOrder": [
2177
+ "fileId"
2178
+ ],
2179
+ "response": {
2180
+ "$ref": "CommentList"
2181
+ },
2182
+ "scopes": [
2183
+ "https://www.googleapis.com/auth/drive",
2184
+ "https://www.googleapis.com/auth/drive.file",
2185
+ "https://www.googleapis.com/auth/drive.readonly"
2186
+ ]
2187
+ },
2188
+ "patch": {
2189
+ "id": "drive.comments.patch",
2190
+ "path": "files/{fileId}/comments/{commentId}",
2191
+ "httpMethod": "PATCH",
2192
+ "description": "Updates an existing comment. This method supports patch semantics.",
2193
+ "parameters": {
2194
+ "commentId": {
2195
+ "type": "string",
2196
+ "description": "The ID of the comment.",
2197
+ "required": true,
2198
+ "location": "path"
2199
+ },
2200
+ "fileId": {
2201
+ "type": "string",
2202
+ "description": "The ID of the file.",
2203
+ "required": true,
2204
+ "location": "path"
2205
+ }
2206
+ },
2207
+ "parameterOrder": [
2208
+ "fileId",
2209
+ "commentId"
2210
+ ],
2211
+ "request": {
2212
+ "$ref": "Comment"
2213
+ },
2214
+ "response": {
2215
+ "$ref": "Comment"
2216
+ },
2217
+ "scopes": [
2218
+ "https://www.googleapis.com/auth/drive",
2219
+ "https://www.googleapis.com/auth/drive.file"
2220
+ ]
2221
+ },
2222
+ "update": {
2223
+ "id": "drive.comments.update",
2224
+ "path": "files/{fileId}/comments/{commentId}",
2225
+ "httpMethod": "PUT",
2226
+ "description": "Updates an existing comment.",
2227
+ "parameters": {
2228
+ "commentId": {
2229
+ "type": "string",
2230
+ "description": "The ID of the comment.",
2231
+ "required": true,
2232
+ "location": "path"
2233
+ },
2234
+ "fileId": {
2235
+ "type": "string",
2236
+ "description": "The ID of the file.",
2237
+ "required": true,
2238
+ "location": "path"
2239
+ }
2240
+ },
2241
+ "parameterOrder": [
2242
+ "fileId",
2243
+ "commentId"
2244
+ ],
2245
+ "request": {
2246
+ "$ref": "Comment"
2247
+ },
2248
+ "response": {
2249
+ "$ref": "Comment"
2250
+ },
2251
+ "scopes": [
2252
+ "https://www.googleapis.com/auth/drive",
2253
+ "https://www.googleapis.com/auth/drive.file"
2254
+ ]
2255
+ }
2256
+ }
2257
+ },
2258
+ "files": {
2259
+ "methods": {
2260
+ "copy": {
2261
+ "id": "drive.files.copy",
2262
+ "path": "files/{fileId}/copy",
2263
+ "httpMethod": "POST",
2264
+ "description": "Creates a copy of the specified file.",
2265
+ "parameters": {
2266
+ "convert": {
2267
+ "type": "boolean",
2268
+ "description": "Whether to convert this file to the corresponding Google Docs format.",
2269
+ "default": "false",
2270
+ "location": "query"
2271
+ },
2272
+ "fileId": {
2273
+ "type": "string",
2274
+ "description": "The ID of the file to copy.",
2275
+ "required": true,
2276
+ "location": "path"
2277
+ },
2278
+ "ocr": {
2279
+ "type": "boolean",
2280
+ "description": "Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.",
2281
+ "default": "false",
2282
+ "location": "query"
2283
+ },
2284
+ "ocrLanguage": {
2285
+ "type": "string",
2286
+ "description": "If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.",
2287
+ "location": "query"
2288
+ },
2289
+ "pinned": {
2290
+ "type": "boolean",
2291
+ "description": "Whether to pin the head revision of the new copy.",
2292
+ "default": "false",
2293
+ "location": "query"
2294
+ },
2295
+ "timedTextLanguage": {
2296
+ "type": "string",
2297
+ "description": "The language of the timed text.",
2298
+ "location": "query"
2299
+ },
2300
+ "timedTextTrackName": {
2301
+ "type": "string",
2302
+ "description": "The timed text track name.",
2303
+ "location": "query"
2304
+ },
2305
+ "visibility": {
2306
+ "type": "string",
2307
+ "description": "The visibility of the new file. This parameter is only relevant when the source is not a native Google Doc and convert=false.",
2308
+ "default": "DEFAULT",
2309
+ "enum": [
2310
+ "DEFAULT",
2311
+ "PRIVATE"
2312
+ ],
2313
+ "enumDescriptions": [
2314
+ "The visibility of the new file is determined by the user's default visibility/sharing policies.",
2315
+ "The new file will be visible to only the owner."
2316
+ ],
2317
+ "location": "query"
2318
+ }
2319
+ },
2320
+ "parameterOrder": [
2321
+ "fileId"
2322
+ ],
2323
+ "request": {
2324
+ "$ref": "File"
2325
+ },
2326
+ "response": {
2327
+ "$ref": "File"
2328
+ },
2329
+ "scopes": [
2330
+ "https://www.googleapis.com/auth/drive",
2331
+ "https://www.googleapis.com/auth/drive.appdata",
2332
+ "https://www.googleapis.com/auth/drive.apps.readonly",
2333
+ "https://www.googleapis.com/auth/drive.file"
2334
+ ]
2335
+ },
2336
+ "delete": {
2337
+ "id": "drive.files.delete",
2338
+ "path": "files/{fileId}",
2339
+ "httpMethod": "DELETE",
2340
+ "description": "Permanently deletes a file by ID. Skips the trash.",
2341
+ "parameters": {
2342
+ "fileId": {
2343
+ "type": "string",
2344
+ "description": "The ID of the file to delete.",
2345
+ "required": true,
2346
+ "location": "path"
2347
+ }
2348
+ },
2349
+ "parameterOrder": [
2350
+ "fileId"
2351
+ ],
2352
+ "scopes": [
2353
+ "https://www.googleapis.com/auth/drive",
2354
+ "https://www.googleapis.com/auth/drive.appdata",
2355
+ "https://www.googleapis.com/auth/drive.file"
2356
+ ]
2357
+ },
2358
+ "get": {
2359
+ "id": "drive.files.get",
2360
+ "path": "files/{fileId}",
2361
+ "httpMethod": "GET",
2362
+ "description": "Gets a file's metadata by ID.",
2363
+ "parameters": {
2364
+ "fileId": {
2365
+ "type": "string",
2366
+ "description": "The ID for the file in question.",
2367
+ "required": true,
2368
+ "location": "path"
2369
+ },
2370
+ "projection": {
2371
+ "type": "string",
2372
+ "description": "This parameter is deprecated and has no function.",
2373
+ "enum": [
2374
+ "BASIC",
2375
+ "FULL"
2376
+ ],
2377
+ "enumDescriptions": [
2378
+ "Deprecated",
2379
+ "Deprecated"
2380
+ ],
2381
+ "location": "query"
2382
+ },
2383
+ "updateViewedDate": {
2384
+ "type": "boolean",
2385
+ "description": "Whether to update the view date after successfully retrieving the file.",
2386
+ "default": "false",
2387
+ "location": "query"
2388
+ }
2389
+ },
2390
+ "parameterOrder": [
2391
+ "fileId"
2392
+ ],
2393
+ "response": {
2394
+ "$ref": "File"
2395
+ },
2396
+ "scopes": [
2397
+ "https://www.googleapis.com/auth/drive",
2398
+ "https://www.googleapis.com/auth/drive.appdata",
2399
+ "https://www.googleapis.com/auth/drive.apps.readonly",
2400
+ "https://www.googleapis.com/auth/drive.file",
2401
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
2402
+ "https://www.googleapis.com/auth/drive.readonly"
2403
+ ],
2404
+ "supportsSubscription": true
2405
+ },
2406
+ "insert": {
2407
+ "id": "drive.files.insert",
2408
+ "path": "files",
2409
+ "httpMethod": "POST",
2410
+ "description": "Insert a new file.",
2411
+ "parameters": {
2412
+ "convert": {
2413
+ "type": "boolean",
2414
+ "description": "Whether to convert this file to the corresponding Google Docs format.",
2415
+ "default": "false",
2416
+ "location": "query"
2417
+ },
2418
+ "ocr": {
2419
+ "type": "boolean",
2420
+ "description": "Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.",
2421
+ "default": "false",
2422
+ "location": "query"
2423
+ },
2424
+ "ocrLanguage": {
2425
+ "type": "string",
2426
+ "description": "If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.",
2427
+ "location": "query"
2428
+ },
2429
+ "pinned": {
2430
+ "type": "boolean",
2431
+ "description": "Whether to pin the head revision of the uploaded file.",
2432
+ "default": "false",
2433
+ "location": "query"
2434
+ },
2435
+ "timedTextLanguage": {
2436
+ "type": "string",
2437
+ "description": "The language of the timed text.",
2438
+ "location": "query"
2439
+ },
2440
+ "timedTextTrackName": {
2441
+ "type": "string",
2442
+ "description": "The timed text track name.",
2443
+ "location": "query"
2444
+ },
2445
+ "useContentAsIndexableText": {
2446
+ "type": "boolean",
2447
+ "description": "Whether to use the content as indexable text.",
2448
+ "default": "false",
2449
+ "location": "query"
2450
+ },
2451
+ "visibility": {
2452
+ "type": "string",
2453
+ "description": "The visibility of the new file. This parameter is only relevant when convert=false.",
2454
+ "default": "DEFAULT",
2455
+ "enum": [
2456
+ "DEFAULT",
2457
+ "PRIVATE"
2458
+ ],
2459
+ "enumDescriptions": [
2460
+ "The visibility of the new file is determined by the user's default visibility/sharing policies.",
2461
+ "The new file will be visible to only the owner."
2462
+ ],
2463
+ "location": "query"
2464
+ }
2465
+ },
2466
+ "request": {
2467
+ "$ref": "File"
2468
+ },
2469
+ "response": {
2470
+ "$ref": "File"
2471
+ },
2472
+ "scopes": [
2473
+ "https://www.googleapis.com/auth/drive",
2474
+ "https://www.googleapis.com/auth/drive.appdata",
2475
+ "https://www.googleapis.com/auth/drive.apps.readonly",
2476
+ "https://www.googleapis.com/auth/drive.file"
2477
+ ],
2478
+ "supportsMediaUpload": true,
2479
+ "mediaUpload": {
2480
+ "accept": [
2481
+ "*/*"
2482
+ ],
2483
+ "maxSize": "10GB",
2484
+ "protocols": {
2485
+ "simple": {
2486
+ "multipart": true,
2487
+ "path": "/upload/drive/v2/files"
2488
+ },
2489
+ "resumable": {
2490
+ "multipart": true,
2491
+ "path": "/resumable/upload/drive/v2/files"
2492
+ }
2493
+ }
2494
+ },
2495
+ "supportsSubscription": true
2496
+ },
2497
+ "list": {
2498
+ "id": "drive.files.list",
2499
+ "path": "files",
2500
+ "httpMethod": "GET",
2501
+ "description": "Lists the user's files.",
2502
+ "parameters": {
2503
+ "maxResults": {
2504
+ "type": "integer",
2505
+ "description": "Maximum number of files to return.",
2506
+ "default": "100",
2507
+ "format": "int32",
2508
+ "minimum": "0",
2509
+ "location": "query"
2510
+ },
2511
+ "pageToken": {
2512
+ "type": "string",
2513
+ "description": "Page token for files.",
2514
+ "location": "query"
2515
+ },
2516
+ "projection": {
2517
+ "type": "string",
2518
+ "description": "This parameter is deprecated and has no function.",
2519
+ "enum": [
2520
+ "BASIC",
2521
+ "FULL"
2522
+ ],
2523
+ "enumDescriptions": [
2524
+ "Deprecated",
2525
+ "Deprecated"
2526
+ ],
2527
+ "location": "query"
2528
+ },
2529
+ "q": {
2530
+ "type": "string",
2531
+ "description": "Query string for searching files.",
2532
+ "location": "query"
2533
+ }
2534
+ },
2535
+ "response": {
2536
+ "$ref": "FileList"
2537
+ },
2538
+ "scopes": [
2539
+ "https://www.googleapis.com/auth/drive",
2540
+ "https://www.googleapis.com/auth/drive.appdata",
2541
+ "https://www.googleapis.com/auth/drive.apps.readonly",
2542
+ "https://www.googleapis.com/auth/drive.file",
2543
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
2544
+ "https://www.googleapis.com/auth/drive.readonly"
2545
+ ]
2546
+ },
2547
+ "patch": {
2548
+ "id": "drive.files.patch",
2549
+ "path": "files/{fileId}",
2550
+ "httpMethod": "PATCH",
2551
+ "description": "Updates file metadata and/or content. This method supports patch semantics.",
2552
+ "parameters": {
2553
+ "convert": {
2554
+ "type": "boolean",
2555
+ "description": "Whether to convert this file to the corresponding Google Docs format.",
2556
+ "default": "false",
2557
+ "location": "query"
2558
+ },
2559
+ "fileId": {
2560
+ "type": "string",
2561
+ "description": "The ID of the file to update.",
2562
+ "required": true,
2563
+ "location": "path"
2564
+ },
2565
+ "newRevision": {
2566
+ "type": "boolean",
2567
+ "description": "Whether a blob upload should create a new revision. If not set or false, the blob data in the current head revision is replaced. If true, a new blob is created as head revision, and previous revisions are preserved (causing increased use of the user's data storage quota).",
2568
+ "default": "true",
2569
+ "location": "query"
2570
+ },
2571
+ "ocr": {
2572
+ "type": "boolean",
2573
+ "description": "Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.",
2574
+ "default": "false",
2575
+ "location": "query"
2576
+ },
2577
+ "ocrLanguage": {
2578
+ "type": "string",
2579
+ "description": "If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.",
2580
+ "location": "query"
2581
+ },
2582
+ "pinned": {
2583
+ "type": "boolean",
2584
+ "description": "Whether to pin the new revision.",
2585
+ "default": "false",
2586
+ "location": "query"
2587
+ },
2588
+ "setModifiedDate": {
2589
+ "type": "boolean",
2590
+ "description": "Whether to set the modified date with the supplied modified date.",
2591
+ "default": "false",
2592
+ "location": "query"
2593
+ },
2594
+ "timedTextLanguage": {
2595
+ "type": "string",
2596
+ "description": "The language of the timed text.",
2597
+ "location": "query"
2598
+ },
2599
+ "timedTextTrackName": {
2600
+ "type": "string",
2601
+ "description": "The timed text track name.",
2602
+ "location": "query"
2603
+ },
2604
+ "updateViewedDate": {
2605
+ "type": "boolean",
2606
+ "description": "Whether to update the view date after successfully updating the file.",
2607
+ "default": "true",
2608
+ "location": "query"
2609
+ },
2610
+ "useContentAsIndexableText": {
2611
+ "type": "boolean",
2612
+ "description": "Whether to use the content as indexable text.",
2613
+ "default": "false",
2614
+ "location": "query"
2615
+ }
2616
+ },
2617
+ "parameterOrder": [
2618
+ "fileId"
2619
+ ],
2620
+ "request": {
2621
+ "$ref": "File"
2622
+ },
2623
+ "response": {
2624
+ "$ref": "File"
2625
+ },
2626
+ "scopes": [
2627
+ "https://www.googleapis.com/auth/drive",
2628
+ "https://www.googleapis.com/auth/drive.appdata",
2629
+ "https://www.googleapis.com/auth/drive.apps.readonly",
2630
+ "https://www.googleapis.com/auth/drive.file",
2631
+ "https://www.googleapis.com/auth/drive.scripts"
2632
+ ]
2633
+ },
2634
+ "touch": {
2635
+ "id": "drive.files.touch",
2636
+ "path": "files/{fileId}/touch",
2637
+ "httpMethod": "POST",
2638
+ "description": "Set the file's updated time to the current server time.",
2639
+ "parameters": {
2640
+ "fileId": {
2641
+ "type": "string",
2642
+ "description": "The ID of the file to update.",
2643
+ "required": true,
2644
+ "location": "path"
2645
+ }
2646
+ },
2647
+ "parameterOrder": [
2648
+ "fileId"
2649
+ ],
2650
+ "response": {
2651
+ "$ref": "File"
2652
+ },
2653
+ "scopes": [
2654
+ "https://www.googleapis.com/auth/drive",
2655
+ "https://www.googleapis.com/auth/drive.appdata",
2656
+ "https://www.googleapis.com/auth/drive.apps.readonly",
2657
+ "https://www.googleapis.com/auth/drive.file"
2658
+ ]
2659
+ },
2660
+ "trash": {
2661
+ "id": "drive.files.trash",
2662
+ "path": "files/{fileId}/trash",
2663
+ "httpMethod": "POST",
2664
+ "description": "Moves a file to the trash.",
2665
+ "parameters": {
2666
+ "fileId": {
2667
+ "type": "string",
2668
+ "description": "The ID of the file to trash.",
2669
+ "required": true,
2670
+ "location": "path"
2671
+ }
2672
+ },
2673
+ "parameterOrder": [
2674
+ "fileId"
2675
+ ],
2676
+ "response": {
2677
+ "$ref": "File"
2678
+ },
2679
+ "scopes": [
2680
+ "https://www.googleapis.com/auth/drive",
2681
+ "https://www.googleapis.com/auth/drive.apps.readonly",
2682
+ "https://www.googleapis.com/auth/drive.file"
2683
+ ]
2684
+ },
2685
+ "untrash": {
2686
+ "id": "drive.files.untrash",
2687
+ "path": "files/{fileId}/untrash",
2688
+ "httpMethod": "POST",
2689
+ "description": "Restores a file from the trash.",
2690
+ "parameters": {
2691
+ "fileId": {
2692
+ "type": "string",
2693
+ "description": "The ID of the file to untrash.",
2694
+ "required": true,
2695
+ "location": "path"
2696
+ }
2697
+ },
2698
+ "parameterOrder": [
2699
+ "fileId"
2700
+ ],
2701
+ "response": {
2702
+ "$ref": "File"
2703
+ },
2704
+ "scopes": [
2705
+ "https://www.googleapis.com/auth/drive",
2706
+ "https://www.googleapis.com/auth/drive.apps.readonly",
2707
+ "https://www.googleapis.com/auth/drive.file"
2708
+ ]
2709
+ },
2710
+ "update": {
2711
+ "id": "drive.files.update",
2712
+ "path": "files/{fileId}",
2713
+ "httpMethod": "PUT",
2714
+ "description": "Updates file metadata and/or content.",
2715
+ "parameters": {
2716
+ "convert": {
2717
+ "type": "boolean",
2718
+ "description": "Whether to convert this file to the corresponding Google Docs format.",
2719
+ "default": "false",
2720
+ "location": "query"
2721
+ },
2722
+ "fileId": {
2723
+ "type": "string",
2724
+ "description": "The ID of the file to update.",
2725
+ "required": true,
2726
+ "location": "path"
2727
+ },
2728
+ "newRevision": {
2729
+ "type": "boolean",
2730
+ "description": "Whether a blob upload should create a new revision. If not set or false, the blob data in the current head revision is replaced. If true, a new blob is created as head revision, and previous revisions are preserved (causing increased use of the user's data storage quota).",
2731
+ "default": "true",
2732
+ "location": "query"
2733
+ },
2734
+ "ocr": {
2735
+ "type": "boolean",
2736
+ "description": "Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads.",
2737
+ "default": "false",
2738
+ "location": "query"
2739
+ },
2740
+ "ocrLanguage": {
2741
+ "type": "string",
2742
+ "description": "If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes.",
2743
+ "location": "query"
2744
+ },
2745
+ "pinned": {
2746
+ "type": "boolean",
2747
+ "description": "Whether to pin the new revision.",
2748
+ "default": "false",
2749
+ "location": "query"
2750
+ },
2751
+ "setModifiedDate": {
2752
+ "type": "boolean",
2753
+ "description": "Whether to set the modified date with the supplied modified date.",
2754
+ "default": "false",
2755
+ "location": "query"
2756
+ },
2757
+ "timedTextLanguage": {
2758
+ "type": "string",
2759
+ "description": "The language of the timed text.",
2760
+ "location": "query"
2761
+ },
2762
+ "timedTextTrackName": {
2763
+ "type": "string",
2764
+ "description": "The timed text track name.",
2765
+ "location": "query"
2766
+ },
2767
+ "updateViewedDate": {
2768
+ "type": "boolean",
2769
+ "description": "Whether to update the view date after successfully updating the file.",
2770
+ "default": "true",
2771
+ "location": "query"
2772
+ },
2773
+ "useContentAsIndexableText": {
2774
+ "type": "boolean",
2775
+ "description": "Whether to use the content as indexable text.",
2776
+ "default": "false",
2777
+ "location": "query"
2778
+ }
2779
+ },
2780
+ "parameterOrder": [
2781
+ "fileId"
2782
+ ],
2783
+ "request": {
2784
+ "$ref": "File"
2785
+ },
2786
+ "response": {
2787
+ "$ref": "File"
2788
+ },
2789
+ "scopes": [
2790
+ "https://www.googleapis.com/auth/drive",
2791
+ "https://www.googleapis.com/auth/drive.appdata",
2792
+ "https://www.googleapis.com/auth/drive.apps.readonly",
2793
+ "https://www.googleapis.com/auth/drive.file",
2794
+ "https://www.googleapis.com/auth/drive.scripts"
2795
+ ],
2796
+ "supportsMediaUpload": true,
2797
+ "mediaUpload": {
2798
+ "accept": [
2799
+ "*/*"
2800
+ ],
2801
+ "maxSize": "10GB",
2802
+ "protocols": {
2803
+ "simple": {
2804
+ "multipart": true,
2805
+ "path": "/upload/drive/v2/files/{fileId}"
2806
+ },
2807
+ "resumable": {
2808
+ "multipart": true,
2809
+ "path": "/resumable/upload/drive/v2/files/{fileId}"
2810
+ }
2811
+ }
2812
+ }
2813
+ },
2814
+ "watch": {
2815
+ "id": "drive.files.watch",
2816
+ "path": "files/{fileId}/watch",
2817
+ "httpMethod": "POST",
2818
+ "description": "Subscribe to changes on a file",
2819
+ "parameters": {
2820
+ "fileId": {
2821
+ "type": "string",
2822
+ "description": "The ID for the file in question.",
2823
+ "required": true,
2824
+ "location": "path"
2825
+ },
2826
+ "projection": {
2827
+ "type": "string",
2828
+ "description": "This parameter is deprecated and has no function.",
2829
+ "enum": [
2830
+ "BASIC",
2831
+ "FULL"
2832
+ ],
2833
+ "enumDescriptions": [
2834
+ "Deprecated",
2835
+ "Deprecated"
2836
+ ],
2837
+ "location": "query"
2838
+ },
2839
+ "updateViewedDate": {
2840
+ "type": "boolean",
2841
+ "description": "Whether to update the view date after successfully retrieving the file.",
2842
+ "default": "false",
2843
+ "location": "query"
2844
+ }
2845
+ },
2846
+ "parameterOrder": [
2847
+ "fileId"
2848
+ ],
2849
+ "request": {
2850
+ "$ref": "Channel",
2851
+ "parameterName": "resource"
2852
+ },
2853
+ "response": {
2854
+ "$ref": "Channel"
2855
+ },
2856
+ "scopes": [
2857
+ "https://www.googleapis.com/auth/drive",
2858
+ "https://www.googleapis.com/auth/drive.appdata",
2859
+ "https://www.googleapis.com/auth/drive.apps.readonly",
2860
+ "https://www.googleapis.com/auth/drive.file",
2861
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
2862
+ "https://www.googleapis.com/auth/drive.readonly"
2863
+ ],
2864
+ "supportsSubscription": true
2865
+ }
2866
+ }
2867
+ },
2868
+ "parents": {
2869
+ "methods": {
2870
+ "delete": {
2871
+ "id": "drive.parents.delete",
2872
+ "path": "files/{fileId}/parents/{parentId}",
2873
+ "httpMethod": "DELETE",
2874
+ "description": "Removes a parent from a file.",
2875
+ "parameters": {
2876
+ "fileId": {
2877
+ "type": "string",
2878
+ "description": "The ID of the file.",
2879
+ "required": true,
2880
+ "location": "path"
2881
+ },
2882
+ "parentId": {
2883
+ "type": "string",
2884
+ "description": "The ID of the parent.",
2885
+ "required": true,
2886
+ "location": "path"
2887
+ }
2888
+ },
2889
+ "parameterOrder": [
2890
+ "fileId",
2891
+ "parentId"
2892
+ ],
2893
+ "scopes": [
2894
+ "https://www.googleapis.com/auth/drive",
2895
+ "https://www.googleapis.com/auth/drive.file"
2896
+ ]
2897
+ },
2898
+ "get": {
2899
+ "id": "drive.parents.get",
2900
+ "path": "files/{fileId}/parents/{parentId}",
2901
+ "httpMethod": "GET",
2902
+ "description": "Gets a specific parent reference.",
2903
+ "parameters": {
2904
+ "fileId": {
2905
+ "type": "string",
2906
+ "description": "The ID of the file.",
2907
+ "required": true,
2908
+ "location": "path"
2909
+ },
2910
+ "parentId": {
2911
+ "type": "string",
2912
+ "description": "The ID of the parent.",
2913
+ "required": true,
2914
+ "location": "path"
2915
+ }
2916
+ },
2917
+ "parameterOrder": [
2918
+ "fileId",
2919
+ "parentId"
2920
+ ],
2921
+ "response": {
2922
+ "$ref": "ParentReference"
2923
+ },
2924
+ "scopes": [
2925
+ "https://www.googleapis.com/auth/drive",
2926
+ "https://www.googleapis.com/auth/drive.appdata",
2927
+ "https://www.googleapis.com/auth/drive.file",
2928
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
2929
+ "https://www.googleapis.com/auth/drive.readonly"
2930
+ ]
2931
+ },
2932
+ "insert": {
2933
+ "id": "drive.parents.insert",
2934
+ "path": "files/{fileId}/parents",
2935
+ "httpMethod": "POST",
2936
+ "description": "Adds a parent folder for a file.",
2937
+ "parameters": {
2938
+ "fileId": {
2939
+ "type": "string",
2940
+ "description": "The ID of the file.",
2941
+ "required": true,
2942
+ "location": "path"
2943
+ }
2944
+ },
2945
+ "parameterOrder": [
2946
+ "fileId"
2947
+ ],
2948
+ "request": {
2949
+ "$ref": "ParentReference"
2950
+ },
2951
+ "response": {
2952
+ "$ref": "ParentReference"
2953
+ },
2954
+ "scopes": [
2955
+ "https://www.googleapis.com/auth/drive",
2956
+ "https://www.googleapis.com/auth/drive.appdata",
2957
+ "https://www.googleapis.com/auth/drive.file"
2958
+ ]
2959
+ },
2960
+ "list": {
2961
+ "id": "drive.parents.list",
2962
+ "path": "files/{fileId}/parents",
2963
+ "httpMethod": "GET",
2964
+ "description": "Lists a file's parents.",
2965
+ "parameters": {
2966
+ "fileId": {
2967
+ "type": "string",
2968
+ "description": "The ID of the file.",
2969
+ "required": true,
2970
+ "location": "path"
2971
+ }
2972
+ },
2973
+ "parameterOrder": [
2974
+ "fileId"
2975
+ ],
2976
+ "response": {
2977
+ "$ref": "ParentList"
2978
+ },
2979
+ "scopes": [
2980
+ "https://www.googleapis.com/auth/drive",
2981
+ "https://www.googleapis.com/auth/drive.appdata",
2982
+ "https://www.googleapis.com/auth/drive.file",
2983
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
2984
+ "https://www.googleapis.com/auth/drive.readonly"
2985
+ ]
2986
+ }
2987
+ }
2988
+ },
2989
+ "permissions": {
2990
+ "methods": {
2991
+ "delete": {
2992
+ "id": "drive.permissions.delete",
2993
+ "path": "files/{fileId}/permissions/{permissionId}",
2994
+ "httpMethod": "DELETE",
2995
+ "description": "Deletes a permission from a file.",
2996
+ "parameters": {
2997
+ "fileId": {
2998
+ "type": "string",
2999
+ "description": "The ID for the file.",
3000
+ "required": true,
3001
+ "location": "path"
3002
+ },
3003
+ "permissionId": {
3004
+ "type": "string",
3005
+ "description": "The ID for the permission.",
3006
+ "required": true,
3007
+ "location": "path"
3008
+ }
3009
+ },
3010
+ "parameterOrder": [
3011
+ "fileId",
3012
+ "permissionId"
3013
+ ],
3014
+ "scopes": [
3015
+ "https://www.googleapis.com/auth/drive",
3016
+ "https://www.googleapis.com/auth/drive.file"
3017
+ ]
3018
+ },
3019
+ "get": {
3020
+ "id": "drive.permissions.get",
3021
+ "path": "files/{fileId}/permissions/{permissionId}",
3022
+ "httpMethod": "GET",
3023
+ "description": "Gets a permission by ID.",
3024
+ "parameters": {
3025
+ "fileId": {
3026
+ "type": "string",
3027
+ "description": "The ID for the file.",
3028
+ "required": true,
3029
+ "location": "path"
3030
+ },
3031
+ "permissionId": {
3032
+ "type": "string",
3033
+ "description": "The ID for the permission.",
3034
+ "required": true,
3035
+ "location": "path"
3036
+ }
3037
+ },
3038
+ "parameterOrder": [
3039
+ "fileId",
3040
+ "permissionId"
3041
+ ],
3042
+ "response": {
3043
+ "$ref": "Permission"
3044
+ },
3045
+ "scopes": [
3046
+ "https://www.googleapis.com/auth/drive",
3047
+ "https://www.googleapis.com/auth/drive.file",
3048
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
3049
+ "https://www.googleapis.com/auth/drive.readonly"
3050
+ ]
3051
+ },
3052
+ "getIdForEmail": {
3053
+ "id": "drive.permissions.getIdForEmail",
3054
+ "path": "permissionIds/{email}",
3055
+ "httpMethod": "GET",
3056
+ "description": "Returns the permission ID for an email address.",
3057
+ "parameters": {
3058
+ "email": {
3059
+ "type": "string",
3060
+ "description": "The email address for which to return a permission ID",
3061
+ "required": true,
3062
+ "location": "path"
3063
+ }
3064
+ },
3065
+ "parameterOrder": [
3066
+ "email"
3067
+ ],
3068
+ "response": {
3069
+ "$ref": "PermissionId"
3070
+ },
3071
+ "scopes": [
3072
+ "https://www.googleapis.com/auth/drive",
3073
+ "https://www.googleapis.com/auth/drive.appdata",
3074
+ "https://www.googleapis.com/auth/drive.apps.readonly",
3075
+ "https://www.googleapis.com/auth/drive.file",
3076
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
3077
+ "https://www.googleapis.com/auth/drive.readonly"
3078
+ ]
3079
+ },
3080
+ "insert": {
3081
+ "id": "drive.permissions.insert",
3082
+ "path": "files/{fileId}/permissions",
3083
+ "httpMethod": "POST",
3084
+ "description": "Inserts a permission for a file.",
3085
+ "parameters": {
3086
+ "emailMessage": {
3087
+ "type": "string",
3088
+ "description": "A custom message to include in notification emails.",
3089
+ "location": "query"
3090
+ },
3091
+ "fileId": {
3092
+ "type": "string",
3093
+ "description": "The ID for the file.",
3094
+ "required": true,
3095
+ "location": "path"
3096
+ },
3097
+ "sendNotificationEmails": {
3098
+ "type": "boolean",
3099
+ "description": "Whether to send notification emails when sharing to users or groups.",
3100
+ "default": "true",
3101
+ "location": "query"
3102
+ }
3103
+ },
3104
+ "parameterOrder": [
3105
+ "fileId"
3106
+ ],
3107
+ "request": {
3108
+ "$ref": "Permission"
3109
+ },
3110
+ "response": {
3111
+ "$ref": "Permission"
3112
+ },
3113
+ "scopes": [
3114
+ "https://www.googleapis.com/auth/drive",
3115
+ "https://www.googleapis.com/auth/drive.file"
3116
+ ]
3117
+ },
3118
+ "list": {
3119
+ "id": "drive.permissions.list",
3120
+ "path": "files/{fileId}/permissions",
3121
+ "httpMethod": "GET",
3122
+ "description": "Lists a file's permissions.",
3123
+ "parameters": {
3124
+ "fileId": {
3125
+ "type": "string",
3126
+ "description": "The ID for the file.",
3127
+ "required": true,
3128
+ "location": "path"
3129
+ }
3130
+ },
3131
+ "parameterOrder": [
3132
+ "fileId"
3133
+ ],
3134
+ "response": {
3135
+ "$ref": "PermissionList"
3136
+ },
3137
+ "scopes": [
3138
+ "https://www.googleapis.com/auth/drive",
3139
+ "https://www.googleapis.com/auth/drive.file",
3140
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
3141
+ "https://www.googleapis.com/auth/drive.readonly"
3142
+ ]
3143
+ },
3144
+ "patch": {
3145
+ "id": "drive.permissions.patch",
3146
+ "path": "files/{fileId}/permissions/{permissionId}",
3147
+ "httpMethod": "PATCH",
3148
+ "description": "Updates a permission. This method supports patch semantics.",
3149
+ "parameters": {
3150
+ "fileId": {
3151
+ "type": "string",
3152
+ "description": "The ID for the file.",
3153
+ "required": true,
3154
+ "location": "path"
3155
+ },
3156
+ "permissionId": {
3157
+ "type": "string",
3158
+ "description": "The ID for the permission.",
3159
+ "required": true,
3160
+ "location": "path"
3161
+ },
3162
+ "transferOwnership": {
3163
+ "type": "boolean",
3164
+ "description": "Whether changing a role to 'owner' should also downgrade the current owners to writers.",
3165
+ "default": "false",
3166
+ "location": "query"
3167
+ }
3168
+ },
3169
+ "parameterOrder": [
3170
+ "fileId",
3171
+ "permissionId"
3172
+ ],
3173
+ "request": {
3174
+ "$ref": "Permission"
3175
+ },
3176
+ "response": {
3177
+ "$ref": "Permission"
3178
+ },
3179
+ "scopes": [
3180
+ "https://www.googleapis.com/auth/drive",
3181
+ "https://www.googleapis.com/auth/drive.file"
3182
+ ]
3183
+ },
3184
+ "update": {
3185
+ "id": "drive.permissions.update",
3186
+ "path": "files/{fileId}/permissions/{permissionId}",
3187
+ "httpMethod": "PUT",
3188
+ "description": "Updates a permission.",
3189
+ "parameters": {
3190
+ "fileId": {
3191
+ "type": "string",
3192
+ "description": "The ID for the file.",
3193
+ "required": true,
3194
+ "location": "path"
3195
+ },
3196
+ "permissionId": {
3197
+ "type": "string",
3198
+ "description": "The ID for the permission.",
3199
+ "required": true,
3200
+ "location": "path"
3201
+ },
3202
+ "transferOwnership": {
3203
+ "type": "boolean",
3204
+ "description": "Whether changing a role to 'owner' should also downgrade the current owners to writers.",
3205
+ "default": "false",
3206
+ "location": "query"
3207
+ }
3208
+ },
3209
+ "parameterOrder": [
3210
+ "fileId",
3211
+ "permissionId"
3212
+ ],
3213
+ "request": {
3214
+ "$ref": "Permission"
3215
+ },
3216
+ "response": {
3217
+ "$ref": "Permission"
3218
+ },
3219
+ "scopes": [
3220
+ "https://www.googleapis.com/auth/drive",
3221
+ "https://www.googleapis.com/auth/drive.file"
3222
+ ]
3223
+ }
3224
+ }
3225
+ },
3226
+ "properties": {
3227
+ "methods": {
3228
+ "delete": {
3229
+ "id": "drive.properties.delete",
3230
+ "path": "files/{fileId}/properties/{propertyKey}",
3231
+ "httpMethod": "DELETE",
3232
+ "description": "Deletes a property.",
3233
+ "parameters": {
3234
+ "fileId": {
3235
+ "type": "string",
3236
+ "description": "The ID of the file.",
3237
+ "required": true,
3238
+ "location": "path"
3239
+ },
3240
+ "propertyKey": {
3241
+ "type": "string",
3242
+ "description": "The key of the property.",
3243
+ "required": true,
3244
+ "location": "path"
3245
+ },
3246
+ "visibility": {
3247
+ "type": "string",
3248
+ "description": "The visibility of the property.",
3249
+ "default": "private",
3250
+ "location": "query"
3251
+ }
3252
+ },
3253
+ "parameterOrder": [
3254
+ "fileId",
3255
+ "propertyKey"
3256
+ ],
3257
+ "scopes": [
3258
+ "https://www.googleapis.com/auth/drive",
3259
+ "https://www.googleapis.com/auth/drive.appdata",
3260
+ "https://www.googleapis.com/auth/drive.file"
3261
+ ]
3262
+ },
3263
+ "get": {
3264
+ "id": "drive.properties.get",
3265
+ "path": "files/{fileId}/properties/{propertyKey}",
3266
+ "httpMethod": "GET",
3267
+ "description": "Gets a property by its key.",
3268
+ "parameters": {
3269
+ "fileId": {
3270
+ "type": "string",
3271
+ "description": "The ID of the file.",
3272
+ "required": true,
3273
+ "location": "path"
3274
+ },
3275
+ "propertyKey": {
3276
+ "type": "string",
3277
+ "description": "The key of the property.",
3278
+ "required": true,
3279
+ "location": "path"
3280
+ },
3281
+ "visibility": {
3282
+ "type": "string",
3283
+ "description": "The visibility of the property.",
3284
+ "default": "private",
3285
+ "location": "query"
3286
+ }
3287
+ },
3288
+ "parameterOrder": [
3289
+ "fileId",
3290
+ "propertyKey"
3291
+ ],
3292
+ "response": {
3293
+ "$ref": "Property"
3294
+ },
3295
+ "scopes": [
3296
+ "https://www.googleapis.com/auth/drive",
3297
+ "https://www.googleapis.com/auth/drive.appdata",
3298
+ "https://www.googleapis.com/auth/drive.file",
3299
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
3300
+ "https://www.googleapis.com/auth/drive.readonly"
3301
+ ]
3302
+ },
3303
+ "insert": {
3304
+ "id": "drive.properties.insert",
3305
+ "path": "files/{fileId}/properties",
3306
+ "httpMethod": "POST",
3307
+ "description": "Adds a property to a file.",
3308
+ "parameters": {
3309
+ "fileId": {
3310
+ "type": "string",
3311
+ "description": "The ID of the file.",
3312
+ "required": true,
3313
+ "location": "path"
3314
+ }
3315
+ },
3316
+ "parameterOrder": [
3317
+ "fileId"
3318
+ ],
3319
+ "request": {
3320
+ "$ref": "Property"
3321
+ },
3322
+ "response": {
3323
+ "$ref": "Property"
3324
+ },
3325
+ "scopes": [
3326
+ "https://www.googleapis.com/auth/drive",
3327
+ "https://www.googleapis.com/auth/drive.appdata",
3328
+ "https://www.googleapis.com/auth/drive.file"
3329
+ ]
3330
+ },
3331
+ "list": {
3332
+ "id": "drive.properties.list",
3333
+ "path": "files/{fileId}/properties",
3334
+ "httpMethod": "GET",
3335
+ "description": "Lists a file's properties.",
3336
+ "parameters": {
3337
+ "fileId": {
3338
+ "type": "string",
3339
+ "description": "The ID of the file.",
3340
+ "required": true,
3341
+ "location": "path"
3342
+ }
3343
+ },
3344
+ "parameterOrder": [
3345
+ "fileId"
3346
+ ],
3347
+ "response": {
3348
+ "$ref": "PropertyList"
3349
+ },
3350
+ "scopes": [
3351
+ "https://www.googleapis.com/auth/drive",
3352
+ "https://www.googleapis.com/auth/drive.appdata",
3353
+ "https://www.googleapis.com/auth/drive.file",
3354
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
3355
+ "https://www.googleapis.com/auth/drive.readonly"
3356
+ ]
3357
+ },
3358
+ "patch": {
3359
+ "id": "drive.properties.patch",
3360
+ "path": "files/{fileId}/properties/{propertyKey}",
3361
+ "httpMethod": "PATCH",
3362
+ "description": "Updates a property. This method supports patch semantics.",
3363
+ "parameters": {
3364
+ "fileId": {
3365
+ "type": "string",
3366
+ "description": "The ID of the file.",
3367
+ "required": true,
3368
+ "location": "path"
3369
+ },
3370
+ "propertyKey": {
3371
+ "type": "string",
3372
+ "description": "The key of the property.",
3373
+ "required": true,
3374
+ "location": "path"
3375
+ },
3376
+ "visibility": {
3377
+ "type": "string",
3378
+ "description": "The visibility of the property.",
3379
+ "default": "private",
3380
+ "location": "query"
3381
+ }
3382
+ },
3383
+ "parameterOrder": [
3384
+ "fileId",
3385
+ "propertyKey"
3386
+ ],
3387
+ "request": {
3388
+ "$ref": "Property"
3389
+ },
3390
+ "response": {
3391
+ "$ref": "Property"
3392
+ },
3393
+ "scopes": [
3394
+ "https://www.googleapis.com/auth/drive",
3395
+ "https://www.googleapis.com/auth/drive.appdata",
3396
+ "https://www.googleapis.com/auth/drive.file"
3397
+ ]
3398
+ },
3399
+ "update": {
3400
+ "id": "drive.properties.update",
3401
+ "path": "files/{fileId}/properties/{propertyKey}",
3402
+ "httpMethod": "PUT",
3403
+ "description": "Updates a property.",
3404
+ "parameters": {
3405
+ "fileId": {
3406
+ "type": "string",
3407
+ "description": "The ID of the file.",
3408
+ "required": true,
3409
+ "location": "path"
3410
+ },
3411
+ "propertyKey": {
3412
+ "type": "string",
3413
+ "description": "The key of the property.",
3414
+ "required": true,
3415
+ "location": "path"
3416
+ },
3417
+ "visibility": {
3418
+ "type": "string",
3419
+ "description": "The visibility of the property.",
3420
+ "default": "private",
3421
+ "location": "query"
3422
+ }
3423
+ },
3424
+ "parameterOrder": [
3425
+ "fileId",
3426
+ "propertyKey"
3427
+ ],
3428
+ "request": {
3429
+ "$ref": "Property"
3430
+ },
3431
+ "response": {
3432
+ "$ref": "Property"
3433
+ },
3434
+ "scopes": [
3435
+ "https://www.googleapis.com/auth/drive",
3436
+ "https://www.googleapis.com/auth/drive.appdata",
3437
+ "https://www.googleapis.com/auth/drive.file"
3438
+ ]
3439
+ }
3440
+ }
3441
+ },
3442
+ "realtime": {
3443
+ "methods": {
3444
+ "get": {
3445
+ "id": "drive.realtime.get",
3446
+ "path": "files/{fileId}/realtime",
3447
+ "httpMethod": "GET",
3448
+ "description": "Exports the contents of the Realtime API data model associated with this file as JSON.",
3449
+ "parameters": {
3450
+ "fileId": {
3451
+ "type": "string",
3452
+ "description": "The ID of the file that the Realtime API data model is associated with.",
3453
+ "required": true,
3454
+ "location": "path"
3455
+ }
3456
+ },
3457
+ "parameterOrder": [
3458
+ "fileId"
3459
+ ],
3460
+ "scopes": [
3461
+ "https://www.googleapis.com/auth/drive",
3462
+ "https://www.googleapis.com/auth/drive.file",
3463
+ "https://www.googleapis.com/auth/drive.readonly"
3464
+ ],
3465
+ "supportsMediaDownload": true
3466
+ }
3467
+ }
3468
+ },
3469
+ "replies": {
3470
+ "methods": {
3471
+ "delete": {
3472
+ "id": "drive.replies.delete",
3473
+ "path": "files/{fileId}/comments/{commentId}/replies/{replyId}",
3474
+ "httpMethod": "DELETE",
3475
+ "description": "Deletes a reply.",
3476
+ "parameters": {
3477
+ "commentId": {
3478
+ "type": "string",
3479
+ "description": "The ID of the comment.",
3480
+ "required": true,
3481
+ "location": "path"
3482
+ },
3483
+ "fileId": {
3484
+ "type": "string",
3485
+ "description": "The ID of the file.",
3486
+ "required": true,
3487
+ "location": "path"
3488
+ },
3489
+ "replyId": {
3490
+ "type": "string",
3491
+ "description": "The ID of the reply.",
3492
+ "required": true,
3493
+ "location": "path"
3494
+ }
3495
+ },
3496
+ "parameterOrder": [
3497
+ "fileId",
3498
+ "commentId",
3499
+ "replyId"
3500
+ ],
3501
+ "scopes": [
3502
+ "https://www.googleapis.com/auth/drive",
3503
+ "https://www.googleapis.com/auth/drive.file"
3504
+ ]
3505
+ },
3506
+ "get": {
3507
+ "id": "drive.replies.get",
3508
+ "path": "files/{fileId}/comments/{commentId}/replies/{replyId}",
3509
+ "httpMethod": "GET",
3510
+ "description": "Gets a reply.",
3511
+ "parameters": {
3512
+ "commentId": {
3513
+ "type": "string",
3514
+ "description": "The ID of the comment.",
3515
+ "required": true,
3516
+ "location": "path"
3517
+ },
3518
+ "fileId": {
3519
+ "type": "string",
3520
+ "description": "The ID of the file.",
3521
+ "required": true,
3522
+ "location": "path"
3523
+ },
3524
+ "includeDeleted": {
3525
+ "type": "boolean",
3526
+ "description": "If set, this will succeed when retrieving a deleted reply.",
3527
+ "default": "false",
3528
+ "location": "query"
3529
+ },
3530
+ "replyId": {
3531
+ "type": "string",
3532
+ "description": "The ID of the reply.",
3533
+ "required": true,
3534
+ "location": "path"
3535
+ }
3536
+ },
3537
+ "parameterOrder": [
3538
+ "fileId",
3539
+ "commentId",
3540
+ "replyId"
3541
+ ],
3542
+ "response": {
3543
+ "$ref": "CommentReply"
3544
+ },
3545
+ "scopes": [
3546
+ "https://www.googleapis.com/auth/drive",
3547
+ "https://www.googleapis.com/auth/drive.file",
3548
+ "https://www.googleapis.com/auth/drive.readonly"
3549
+ ]
3550
+ },
3551
+ "insert": {
3552
+ "id": "drive.replies.insert",
3553
+ "path": "files/{fileId}/comments/{commentId}/replies",
3554
+ "httpMethod": "POST",
3555
+ "description": "Creates a new reply to the given comment.",
3556
+ "parameters": {
3557
+ "commentId": {
3558
+ "type": "string",
3559
+ "description": "The ID of the comment.",
3560
+ "required": true,
3561
+ "location": "path"
3562
+ },
3563
+ "fileId": {
3564
+ "type": "string",
3565
+ "description": "The ID of the file.",
3566
+ "required": true,
3567
+ "location": "path"
3568
+ }
3569
+ },
3570
+ "parameterOrder": [
3571
+ "fileId",
3572
+ "commentId"
3573
+ ],
3574
+ "request": {
3575
+ "$ref": "CommentReply"
3576
+ },
3577
+ "response": {
3578
+ "$ref": "CommentReply"
3579
+ },
3580
+ "scopes": [
3581
+ "https://www.googleapis.com/auth/drive",
3582
+ "https://www.googleapis.com/auth/drive.file"
3583
+ ]
3584
+ },
3585
+ "list": {
3586
+ "id": "drive.replies.list",
3587
+ "path": "files/{fileId}/comments/{commentId}/replies",
3588
+ "httpMethod": "GET",
3589
+ "description": "Lists all of the replies to a comment.",
3590
+ "parameters": {
3591
+ "commentId": {
3592
+ "type": "string",
3593
+ "description": "The ID of the comment.",
3594
+ "required": true,
3595
+ "location": "path"
3596
+ },
3597
+ "fileId": {
3598
+ "type": "string",
3599
+ "description": "The ID of the file.",
3600
+ "required": true,
3601
+ "location": "path"
3602
+ },
3603
+ "includeDeleted": {
3604
+ "type": "boolean",
3605
+ "description": "If set, all replies, including deleted replies (with content stripped) will be returned.",
3606
+ "default": "false",
3607
+ "location": "query"
3608
+ },
3609
+ "maxResults": {
3610
+ "type": "integer",
3611
+ "description": "The maximum number of replies to include in the response, used for paging.",
3612
+ "default": "20",
3613
+ "format": "int32",
3614
+ "minimum": "0",
3615
+ "maximum": "100",
3616
+ "location": "query"
3617
+ },
3618
+ "pageToken": {
3619
+ "type": "string",
3620
+ "description": "The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of \"nextPageToken\" from the previous response.",
3621
+ "location": "query"
3622
+ }
3623
+ },
3624
+ "parameterOrder": [
3625
+ "fileId",
3626
+ "commentId"
3627
+ ],
3628
+ "response": {
3629
+ "$ref": "CommentReplyList"
3630
+ },
3631
+ "scopes": [
3632
+ "https://www.googleapis.com/auth/drive",
3633
+ "https://www.googleapis.com/auth/drive.file",
3634
+ "https://www.googleapis.com/auth/drive.readonly"
3635
+ ]
3636
+ },
3637
+ "patch": {
3638
+ "id": "drive.replies.patch",
3639
+ "path": "files/{fileId}/comments/{commentId}/replies/{replyId}",
3640
+ "httpMethod": "PATCH",
3641
+ "description": "Updates an existing reply. This method supports patch semantics.",
3642
+ "parameters": {
3643
+ "commentId": {
3644
+ "type": "string",
3645
+ "description": "The ID of the comment.",
3646
+ "required": true,
3647
+ "location": "path"
3648
+ },
3649
+ "fileId": {
3650
+ "type": "string",
3651
+ "description": "The ID of the file.",
3652
+ "required": true,
3653
+ "location": "path"
3654
+ },
3655
+ "replyId": {
3656
+ "type": "string",
3657
+ "description": "The ID of the reply.",
3658
+ "required": true,
3659
+ "location": "path"
3660
+ }
3661
+ },
3662
+ "parameterOrder": [
3663
+ "fileId",
3664
+ "commentId",
3665
+ "replyId"
3666
+ ],
3667
+ "request": {
3668
+ "$ref": "CommentReply"
3669
+ },
3670
+ "response": {
3671
+ "$ref": "CommentReply"
3672
+ },
3673
+ "scopes": [
3674
+ "https://www.googleapis.com/auth/drive",
3675
+ "https://www.googleapis.com/auth/drive.file"
3676
+ ]
3677
+ },
3678
+ "update": {
3679
+ "id": "drive.replies.update",
3680
+ "path": "files/{fileId}/comments/{commentId}/replies/{replyId}",
3681
+ "httpMethod": "PUT",
3682
+ "description": "Updates an existing reply.",
3683
+ "parameters": {
3684
+ "commentId": {
3685
+ "type": "string",
3686
+ "description": "The ID of the comment.",
3687
+ "required": true,
3688
+ "location": "path"
3689
+ },
3690
+ "fileId": {
3691
+ "type": "string",
3692
+ "description": "The ID of the file.",
3693
+ "required": true,
3694
+ "location": "path"
3695
+ },
3696
+ "replyId": {
3697
+ "type": "string",
3698
+ "description": "The ID of the reply.",
3699
+ "required": true,
3700
+ "location": "path"
3701
+ }
3702
+ },
3703
+ "parameterOrder": [
3704
+ "fileId",
3705
+ "commentId",
3706
+ "replyId"
3707
+ ],
3708
+ "request": {
3709
+ "$ref": "CommentReply"
3710
+ },
3711
+ "response": {
3712
+ "$ref": "CommentReply"
3713
+ },
3714
+ "scopes": [
3715
+ "https://www.googleapis.com/auth/drive",
3716
+ "https://www.googleapis.com/auth/drive.file"
3717
+ ]
3718
+ }
3719
+ }
3720
+ },
3721
+ "revisions": {
3722
+ "methods": {
3723
+ "delete": {
3724
+ "id": "drive.revisions.delete",
3725
+ "path": "files/{fileId}/revisions/{revisionId}",
3726
+ "httpMethod": "DELETE",
3727
+ "description": "Removes a revision.",
3728
+ "parameters": {
3729
+ "fileId": {
3730
+ "type": "string",
3731
+ "description": "The ID of the file.",
3732
+ "required": true,
3733
+ "location": "path"
3734
+ },
3735
+ "revisionId": {
3736
+ "type": "string",
3737
+ "description": "The ID of the revision.",
3738
+ "required": true,
3739
+ "location": "path"
3740
+ }
3741
+ },
3742
+ "parameterOrder": [
3743
+ "fileId",
3744
+ "revisionId"
3745
+ ],
3746
+ "scopes": [
3747
+ "https://www.googleapis.com/auth/drive",
3748
+ "https://www.googleapis.com/auth/drive.appdata",
3749
+ "https://www.googleapis.com/auth/drive.file"
3750
+ ]
3751
+ },
3752
+ "get": {
3753
+ "id": "drive.revisions.get",
3754
+ "path": "files/{fileId}/revisions/{revisionId}",
3755
+ "httpMethod": "GET",
3756
+ "description": "Gets a specific revision.",
3757
+ "parameters": {
3758
+ "fileId": {
3759
+ "type": "string",
3760
+ "description": "The ID of the file.",
3761
+ "required": true,
3762
+ "location": "path"
3763
+ },
3764
+ "revisionId": {
3765
+ "type": "string",
3766
+ "description": "The ID of the revision.",
3767
+ "required": true,
3768
+ "location": "path"
3769
+ }
3770
+ },
3771
+ "parameterOrder": [
3772
+ "fileId",
3773
+ "revisionId"
3774
+ ],
3775
+ "response": {
3776
+ "$ref": "Revision"
3777
+ },
3778
+ "scopes": [
3779
+ "https://www.googleapis.com/auth/drive",
3780
+ "https://www.googleapis.com/auth/drive.appdata",
3781
+ "https://www.googleapis.com/auth/drive.file",
3782
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
3783
+ "https://www.googleapis.com/auth/drive.readonly"
3784
+ ]
3785
+ },
3786
+ "list": {
3787
+ "id": "drive.revisions.list",
3788
+ "path": "files/{fileId}/revisions",
3789
+ "httpMethod": "GET",
3790
+ "description": "Lists a file's revisions.",
3791
+ "parameters": {
3792
+ "fileId": {
3793
+ "type": "string",
3794
+ "description": "The ID of the file.",
3795
+ "required": true,
3796
+ "location": "path"
3797
+ }
3798
+ },
3799
+ "parameterOrder": [
3800
+ "fileId"
3801
+ ],
3802
+ "response": {
3803
+ "$ref": "RevisionList"
3804
+ },
3805
+ "scopes": [
3806
+ "https://www.googleapis.com/auth/drive",
3807
+ "https://www.googleapis.com/auth/drive.appdata",
3808
+ "https://www.googleapis.com/auth/drive.file",
3809
+ "https://www.googleapis.com/auth/drive.metadata.readonly",
3810
+ "https://www.googleapis.com/auth/drive.readonly"
3811
+ ]
3812
+ },
3813
+ "patch": {
3814
+ "id": "drive.revisions.patch",
3815
+ "path": "files/{fileId}/revisions/{revisionId}",
3816
+ "httpMethod": "PATCH",
3817
+ "description": "Updates a revision. This method supports patch semantics.",
3818
+ "parameters": {
3819
+ "fileId": {
3820
+ "type": "string",
3821
+ "description": "The ID for the file.",
3822
+ "required": true,
3823
+ "location": "path"
3824
+ },
3825
+ "revisionId": {
3826
+ "type": "string",
3827
+ "description": "The ID for the revision.",
3828
+ "required": true,
3829
+ "location": "path"
3830
+ }
3831
+ },
3832
+ "parameterOrder": [
3833
+ "fileId",
3834
+ "revisionId"
3835
+ ],
3836
+ "request": {
3837
+ "$ref": "Revision"
3838
+ },
3839
+ "response": {
3840
+ "$ref": "Revision"
3841
+ },
3842
+ "scopes": [
3843
+ "https://www.googleapis.com/auth/drive",
3844
+ "https://www.googleapis.com/auth/drive.appdata",
3845
+ "https://www.googleapis.com/auth/drive.file"
3846
+ ]
3847
+ },
3848
+ "update": {
3849
+ "id": "drive.revisions.update",
3850
+ "path": "files/{fileId}/revisions/{revisionId}",
3851
+ "httpMethod": "PUT",
3852
+ "description": "Updates a revision.",
3853
+ "parameters": {
3854
+ "fileId": {
3855
+ "type": "string",
3856
+ "description": "The ID for the file.",
3857
+ "required": true,
3858
+ "location": "path"
3859
+ },
3860
+ "revisionId": {
3861
+ "type": "string",
3862
+ "description": "The ID for the revision.",
3863
+ "required": true,
3864
+ "location": "path"
3865
+ }
3866
+ },
3867
+ "parameterOrder": [
3868
+ "fileId",
3869
+ "revisionId"
3870
+ ],
3871
+ "request": {
3872
+ "$ref": "Revision"
3873
+ },
3874
+ "response": {
3875
+ "$ref": "Revision"
3876
+ },
3877
+ "scopes": [
3878
+ "https://www.googleapis.com/auth/drive",
3879
+ "https://www.googleapis.com/auth/drive.appdata",
3880
+ "https://www.googleapis.com/auth/drive.file"
3881
+ ]
3882
+ }
3883
+ }
3884
+ }
3885
+ }
3886
+ }
3887
+ http_version:
3888
+ recorded_at: Wed, 21 Aug 2013 22:51:56 GMT
3889
+ - request:
3890
+ method: get
3891
+ uri: https://www.googleapis.com/drive/v2/files?fields=items(id,mimeType,title),nextPageToken&q='root'%20in%20parents%20and%20trashed%20=%20false
3892
+ body:
3893
+ encoding: UTF-8
3894
+ string: ''
3895
+ headers:
3896
+ User-Agent:
3897
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
3898
+ Authorization:
3899
+ - Bearer <GOOGLE_TOKEN>
3900
+ Cache-Control:
3901
+ - no-store
3902
+ Content-Type:
3903
+ - application/x-www-form-urlencoded
3904
+ Accept-Encoding:
3905
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
3906
+ Accept:
3907
+ - '*/*'
3908
+ response:
3909
+ status:
3910
+ code: 200
3911
+ message: OK
3912
+ headers:
3913
+ Expires:
3914
+ - Wed, 21 Aug 2013 22:51:57 GMT
3915
+ Date:
3916
+ - Wed, 21 Aug 2013 22:51:57 GMT
3917
+ Cache-Control:
3918
+ - private, max-age=0, must-revalidate, no-transform
3919
+ Etag:
3920
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/PsJ4fnk5z0hwN6lx1it03UuIsRE"'
3921
+ Content-Type:
3922
+ - application/json; charset=UTF-8
3923
+ X-Content-Type-Options:
3924
+ - nosniff
3925
+ X-Frame-Options:
3926
+ - SAMEORIGIN
3927
+ X-Xss-Protection:
3928
+ - 1; mode=block
3929
+ Server:
3930
+ - GSE
3931
+ Transfer-Encoding:
3932
+ - chunked
3933
+ body:
3934
+ encoding: ASCII-8BIT
3935
+ string: !binary |-
3936
+ ewogIml0ZW1zIjogWwogIHsKICAgImlkIjogIjBCMzBDR2tock41cXpTRmh4
3937
+ ZDNWME1WaHlTMjgiLAogICAidGl0bGUiOiAid29yb2NoaSIsCiAgICJtaW1l
3938
+ VHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZm9sZGVyIgog
3939
+ IH0sCiAgewogICAiaWQiOiAiMEFuMENHa2hyTjVxemRIWldVM1ZoVmpCQ1NV
3940
+ UlliMmh4VW1aNVdVeDZiMEUiLAogICAidGl0bGUiOiAiRU1CQSBDb21wYW5p
3941
+ ZXMiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1h
3942
+ cHBzLnNwcmVhZHNoZWV0IgogIH0sCiAgewogICAiaWQiOiAiMEIzMENHa2hy
3943
+ TjVxek5YUmpabWh4WWtWTFNrRSIsCiAgICJ0aXRsZSI6ICJVbnRpdGxlZCBE
3944
+ aWFncmFtIiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL214ZSIKICB9
3945
+ LAogIHsKICAgImlkIjogIjBCMzBDR2tock41cXphUzExVDNoVVRHYzRUMnMi
3946
+ LAogICAidGl0bGUiOiAiRGVjaXNpb24gVHJlZSIsCiAgICJtaW1lVHlwZSI6
3947
+ ICJhcHBsaWNhdGlvbi9teGUiCiAgfSwKICB7CiAgICJpZCI6ICIwQjMwQ0dr
3948
+ aHJONXF6WW10d1VEWnZOVkZtUWtFIiwKICAgInRpdGxlIjogIkRlY2lzaW9u
3949
+ IERpYWdyYW0iLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vbXhlIgog
3950
+ IH0sCiAgewogICAiaWQiOiAiMWdJMUQ4ck00SzQ2OHo5Um1hY3ZpVElkQ3cy
3951
+ QzlJc0hQQVEyRjMwby13c1UiLAogICAidGl0bGUiOiAiVW50aXRsZWQgcHJl
3952
+ c2VudGF0aW9uIiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5n
3953
+ b29nbGUtYXBwcy5wcmVzZW50YXRpb24iCiAgfSwKICB7CiAgICJpZCI6ICIw
3954
+ QjMwQ0draHJONXF6UkdwTVIwdFVWWFJ1VmpRIiwKICAgInRpdGxlIjogIkRl
3955
+ Y2lzaW9uIFRyZWUiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vbXhl
3956
+ IgogIH0sCiAgewogICAiaWQiOiAiMEIzMENHa2hyTjVxek5WVnZkMGxmWmtO
3957
+ YVVHOCIsCiAgICJ0aXRsZSI6ICJEZWNpc2lvbiBEaWFncmFtIDIiLAogICAi
3958
+ bWltZVR5cGUiOiAiYXBwbGljYXRpb24vbXhlIgogIH0sCiAgewogICAiaWQi
3959
+ OiAiMU9zcEVMZFBscktXRXREQUVlWDgxam4xYk8tSXd5SHJqdnFfdl9VazVB
3960
+ aVUiLAogICAidGl0bGUiOiAiT25lIGluIGJpbGxpb25zIiwKICAgIm1pbWVU
3961
+ eXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVudCIK
3962
+ ICB9LAogIHsKICAgImlkIjogIjBBbjBDR2tock41cXpkRGMxZVRCRmVFRTRW
3963
+ V0V3UW1KRVlUTm5lVlJ6VWxFIiwKICAgInRpdGxlIjogIlNBUyBGdW5kcyIs
3964
+ CiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMu
3965
+ c3ByZWFkc2hlZXQiCiAgfSwKICB7CiAgICJpZCI6ICIwQjMwQ0draHJONXF6
3966
+ WW1oT2RtTm5aMUpzY1hNIiwKICAgInRpdGxlIjogIlZpcnR1YWxfTWFjaGlu
3967
+ ZV9Nb25pdG9ycy5wcHR4IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9u
3968
+ L3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRp
3969
+ b25tbC5wcmVzZW50YXRpb24iCiAgfSwKICB7CiAgICJpZCI6ICIwQjMwQ0dr
3970
+ aHJONXF6VnpkWmIxQmpObU5qYkdjIiwKICAgInRpdGxlIjogIkNTXzE0MF9G
3971
+ aW5hbF9SZXZpZXcucHB0eCIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlv
3972
+ bi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0
3973
+ aW9ubWwucHJlc2VudGF0aW9uIgogIH0sCiAgewogICAiaWQiOiAiMTlha1lU
3974
+ ZmlLM3plaFByeEJRQ2dvZWJMdVdkX0JGMFo3bXZzTzI0ajJpUDAiLAogICAi
3975
+ dGl0bGUiOiAiQ1MgMTQ0IEZpbmFsIFJldmlldyIsCiAgICJtaW1lVHlwZSI6
3976
+ ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwK
3977
+ ICB7CiAgICJpZCI6ICIxN3A4QlhQTkxBOFRlUkpjdHpuRHJYeWR0cjBNVVV0
3978
+ NDREZDVyU3RRaDlvRSIsCiAgICJ0aXRsZSI6ICJIaXN0b3J5IDk1QyBGaW5h
3979
+ bCBSZXZpZXciLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdv
3980
+ b2dsZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMXFXR2tP
3981
+ NjRoSndNNmRIeUpBd3hjcFZCWDMzWEV6UW5TdGR4cFladWptUnciLAogICAi
3982
+ dGl0bGUiOiAiQ1MgMTEwIEZpbmFsIFJldmlldyIsCiAgICJtaW1lVHlwZSI6
3983
+ ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwK
3984
+ ICB7CiAgICJpZCI6ICIxdGt0WlFYd3N6U1pPdmRPTGt6OUp1M09vMXBPY2VD
3985
+ YlJacG5uWkY2WEh4WSIsCiAgICJ0aXRsZSI6ICJDUyAxNDggRmluYWwgUmV2
3986
+ aWV3IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUt
3987
+ YXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjBBbjBDR2tock41
3988
+ cXpkR2hvU1ZkME5raEpWMmQ0VURVMGJXVlRhMjVFTmtFIiwKICAgInRpdGxl
3989
+ IjogIkNTIDE0OCBBc3NpZ24gNyBHcmFwaHMiLAogICAibWltZVR5cGUiOiAi
3990
+ YXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNwcmVhZHNoZWV0IgogIH0s
3991
+ CiAgewogICAiaWQiOiAiMW5BNGQ5dFpWbkNOcVAyYTNzU3RwQk03N3dmeUQ5
3992
+ UlQ2V2kzTVhzSjBZaDAiLAogICAidGl0bGUiOiAiQ1MgMTQ0IE1pZHRlcm0g
3993
+ UmV2aWV3IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29n
3994
+ bGUtYXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjE2b1BRTHBl
3995
+ Y1ZkNk1GcWdfVkJMQ3puUGFuV3Q5Wng3ZXk2dl9sRVVXNkJJIiwKICAgInRp
3996
+ dGxlIjogIkNTIDE0OCBNaWR0ZXJtIFJldmlldyIsCiAgICJtaW1lVHlwZSI6
3997
+ ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwK
3998
+ ICB7CiAgICJpZCI6ICIxT2Q5UzdmNlhBV0NTZDlZUmkxd2lweXRBOE9DQXJ6
3999
+ ZnZhM0M5UXFlQzVvdyIsCiAgICJ0aXRsZSI6ICJDUyAxMTAgTWlkdGVybSBS
4000
+ ZXZpZXciLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2ds
4001
+ ZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMEIzMENHa2hy
4002
+ TjVxelJqSmpRaTFPVEVOWlMyOCIsCiAgICJ0aXRsZSI6ICJDb21wdXRlciBO
4003
+ ZXR3b3JraW5nLnBkZiIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi9w
4004
+ ZGYiCiAgfSwKICB7CiAgICJpZCI6ICIxSlFTWnV3TzBHUzJ4UEV3SkFsZC05
4005
+ TGw4N2o4S3dpZ1dCT3hReHo1bUI5byIsCiAgICJ0aXRsZSI6ICJOaWNpcmEg
4006
+ SW50ZXJuc2hpcCBQcmVzZW50YXRpb24iLAogICAibWltZVR5cGUiOiAiYXBw
4007
+ bGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnByZXNlbnRhdGlvbiIKICB9LAog
4008
+ IHsKICAgImlkIjogIjFiamItUUFONFI5SW15VVR0amtHTUl5bE5SX1loTks0
4009
+ ZE1nLWdVTUdWV0xrIiwKICAgInRpdGxlIjogIlhlbml0aCBtZXNzYWdlIElE
4010
+ cyIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFw
4011
+ cHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIxNktxUnpCc0xpTVJk
4012
+ SXloNG9JMUFQN1hVMkVaRUZkWm8yWmdxWmxpZGlnMCIsCiAgICJ0aXRsZSI6
4013
+ ICJCT1NQIEJlcmxpbiIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92
4014
+ bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIx
4015
+ TXl0bzExczhDQnBUQlk5b3hDRG9OVV9wSjR5bGhGbEVoTnNCelF0emQ1WSIs
4016
+ CiAgICJ0aXRsZSI6ICJTaWduYXR1cmVzIiwKICAgIm1pbWVUeXBlIjogImFw
4017
+ cGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVudCIKICB9LAogIHsK
4018
+ ICAgImlkIjogIjF6SGZ4c24xVnRvajF4NWxVbVVkZDRkajFtRlB5Mmw5U0c2
4019
+ Z2Q2TUUySkt3IiwKICAgInRpdGxlIjogIlBoaSBQc2kiLAogICAibWltZVR5
4020
+ cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmRvY3VtZW50Igog
4021
+ IH0sCiAgewogICAiaWQiOiAiMVNLT2VFT0NYU0g4Um5fRm40UW4tLWNJYlkx
4022
+ Mi1jZEw2Qi1CdmFtSGhVZmsiLAogICAidGl0bGUiOiAiSW1wb3J0ZWQgZnJv
4023
+ bSBHb29nbGUgTm90ZWJvb2sgLSDjg57jgqQg44OO44O844OI44OW44OD44Kv
4024
+ IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBw
4025
+ cy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjFwNGJDQnl3WlBuYnpf
4026
+ NjhZWEFRbnpCTng3RW54V0xuWFdwSGcwaGVmMTR3IiwKICAgInRpdGxlIjog
4027
+ IlF1YWxpZnlpbmdRbnMtVVMyMDEyLmRvYyIsCiAgICJtaW1lVHlwZSI6ICJh
4028
+ cHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7
4029
+ CiAgICJpZCI6ICIxNmFYVzU1NWdFSVhDNWd4WkpTcUhxbW43LW5qSnFKSHVo
4030
+ ZEZTaUlhVnR6WSIsCiAgICJ0aXRsZSI6ICJQU0MgMjAxMSIsCiAgICJtaW1l
4031
+ VHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQi
4032
+ CiAgfSwKICB7CiAgICJpZCI6ICIxVm1wd3p5Wkk5Z0xTY0swaE5fbzUtYllE
4033
+ OERfVmRvZDVaSnZBOUJEN3lLNCIsCiAgICJ0aXRsZSI6ICJJREEgSW50ZXJ2
4034
+ aWV3IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUt
4035
+ YXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjBBbjBDR2tock41
4036
+ cXpkR1p2TnpCQ1FWaFlZME5WT1RsTWNtbGlPVE5xTVdjIiwKICAgInRpdGxl
4037
+ IjogIkphcGFuIDIwMTEgRXhwZW5kaXR1cmUiLAogICAibWltZVR5cGUiOiAi
4038
+ YXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNwcmVhZHNoZWV0IgogIH0s
4039
+ CiAgewogICAiaWQiOiAiMTZKUnVxdDlpN2RNa0lUUV9GTHc0a09zb1VBR2xU
4040
+ a29YMjZvc2ZxZlY2WUUiLAogICAidGl0bGUiOiAi5Ye654++5p2h5Lu2IiwK
4041
+ ICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5k
4042
+ b2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjFvcS1Fd0ZFcWRKUkJTS243
4043
+ V2hBb011b2JvbGIxQWZWMkJlQUdiMVk5M3pBIiwKICAgInRpdGxlIjogIkxp
4044
+ ZmUgR29hbHMiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdv
4045
+ b2dsZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMVVWazFF
4046
+ enBZMnZPRi1VbzNwNjVSTGctcl9Rbm4tWkx0UE42T1ViU2p3cGsiLAogICAi
4047
+ dGl0bGUiOiAiRmVtYWxlIE5hbWVzIiwKICAgIm1pbWVUeXBlIjogImFwcGxp
4048
+ Y2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAg
4049
+ ImlkIjogIjBBbjBDR2tock41cXpjRU5WZDBrM1ZWTkZTbEpmTm5OUU1XcEJh
4050
+ WGRKU1ZFIiwKICAgInRpdGxlIjogIkphcGFuIDIwMDgiLAogICAibWltZVR5
4051
+ cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNwcmVhZHNoZWV0
4052
+ IgogIH0sCiAgewogICAiaWQiOiAiMEFuMENHa2hyTjVxemNFTlZkMGszVlZO
4053
+ RlNsSmZUR1l0YjAxYWQySk1SSGMiLAogICAidGl0bGUiOiAiZXhwZW5kaXR1
4054
+ cmUiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1h
4055
+ cHBzLnNwcmVhZHNoZWV0IgogIH0sCiAgewogICAiaWQiOiAiMXFtZjUtT1Yw
4056
+ YXF2X3I1YVFpVDRmcHVXSDVyTDBYWlhrc0g2LTFLWDV0bnciLAogICAidGl0
4057
+ bGUiOiAiS2FuamkiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5k
4058
+ Lmdvb2dsZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMXQy
4059
+ VGlSd19ydjIxMEh0TF9wWDYzcGdvYnZTempfWjdDVWNXLVZqa0dLY28iLAog
4060
+ ICAidGl0bGUiOiAiQ29tbW9uIEFwcGxpY2F0aW9uIEVzc2F5IiwKICAgIm1p
4061
+ bWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVu
4062
+ dCIKICB9LAogIHsKICAgImlkIjogIjFBMElVQUtfblItaHFHY19fM1VONEVv
4063
+ bFJLN2JHWEFNOVRVMmd3VVJHWGkwIiwKICAgInRpdGxlIjogIkNhcm5lZ2ll
4064
+ IE1lbGxvbiBFc3NheSIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92
4065
+ bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIx
4066
+ OUZKV0J3ZEV1VmZhOUs5Q0VPeEpvQkZTMVpMNVJTWEpFWFBJQlBiRjB3ZyIs
4067
+ CiAgICJ0aXRsZSI6ICJRdWFudHVtIFBoeXNpY3MiLAogICAibWltZVR5cGUi
4068
+ OiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmRvY3VtZW50IgogIH0s
4069
+ CiAgewogICAiaWQiOiAiMUJ4WFVQY0NKZ3ZTVTRsa2ZNUEtfQ191WVloYXh2
4070
+ bzJJOTdDdlhZckFucGsiLAogICAidGl0bGUiOiAiU2VtaWNvbmR1Y3RvcnMi
4071
+ LAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBz
4072
+ LmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMUthZXhpZ3VDZ3ZBOTRZ
4073
+ cGJkNFFyM24xa2VaZ1V5eVZ4MTZlUWxnOEF5dWciLAogICAidGl0bGUiOiAi
4074
+ QmlvcGh5c2ljcyIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQu
4075
+ Z29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIxNXdy
4076
+ akZSZlppeGQtelNIYXN1ek5CVDFRQUUtZ3R5TDkxZ2hRZVQ5NG9yMCIsCiAg
4077
+ ICJ0aXRsZSI6ICJVUyBBcHBsaWNhdGlvbiBFc3NheSIsCiAgICJtaW1lVHlw
4078
+ ZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAg
4079
+ fSwKICB7CiAgICJpZCI6ICIxVHlObnhpRFVDV2JmY0swRHVwWmFOVmlDcjM3
4080
+ RHNReU1xSGcxVFZhbE9INCIsCiAgICJ0aXRsZSI6ICJSYW5kb20gRXNzYXkg
4081
+ RXhwcmVzc2lvbnMiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5k
4082
+ Lmdvb2dsZS1hcHBzLmRvY3VtZW50IgogIH0KIF0KfQo=
4083
+ http_version:
4084
+ recorded_at: Wed, 21 Aug 2013 22:51:57 GMT
4085
+ - request:
4086
+ method: get
4087
+ uri: https://www.googleapis.com/drive/v2/files?fields=items(id,mimeType,title),nextPageToken&q='0B30CGkhrN5qzSFhxd3V0MVhyS28'%20in%20parents%20and%20trashed%20=%20false
4088
+ body:
4089
+ encoding: UTF-8
4090
+ string: ''
4091
+ headers:
4092
+ User-Agent:
4093
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
4094
+ Authorization:
4095
+ - Bearer <GOOGLE_TOKEN>
4096
+ Cache-Control:
4097
+ - no-store
4098
+ Content-Type:
4099
+ - application/x-www-form-urlencoded
4100
+ Accept-Encoding:
4101
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
4102
+ Accept:
4103
+ - '*/*'
4104
+ response:
4105
+ status:
4106
+ code: 200
4107
+ message: OK
4108
+ headers:
4109
+ Expires:
4110
+ - Wed, 21 Aug 2013 22:51:57 GMT
4111
+ Date:
4112
+ - Wed, 21 Aug 2013 22:51:57 GMT
4113
+ Cache-Control:
4114
+ - private, max-age=0, must-revalidate, no-transform
4115
+ Etag:
4116
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/xeHV0rIXRqco4ZXIsQ6fvdLHfZs"'
4117
+ Content-Type:
4118
+ - application/json; charset=UTF-8
4119
+ X-Content-Type-Options:
4120
+ - nosniff
4121
+ X-Frame-Options:
4122
+ - SAMEORIGIN
4123
+ X-Xss-Protection:
4124
+ - 1; mode=block
4125
+ Server:
4126
+ - GSE
4127
+ Transfer-Encoding:
4128
+ - chunked
4129
+ body:
4130
+ encoding: UTF-8
4131
+ string: |
4132
+ {
4133
+ "items": [
4134
+ {
4135
+ "id": "0B30CGkhrN5qzaUJGbFNDRjl0S2M",
4136
+ "title": "test",
4137
+ "mimeType": "application/vnd.google-apps.folder"
4138
+ },
4139
+ {
4140
+ "id": "1H5aldqCSrYmaC2oy2EAu0CVEJPVN90SbQDksLGG55lo",
4141
+ "title": "Copy of Presentation - Index card",
4142
+ "mimeType": "application/vnd.google-apps.presentation"
4143
+ }
4144
+ ]
4145
+ }
4146
+ http_version:
4147
+ recorded_at: Wed, 21 Aug 2013 22:51:57 GMT
4148
+ - request:
4149
+ method: get
4150
+ uri: https://www.googleapis.com/drive/v2/files?fields=items(id,mimeType,title),nextPageToken&q='0B30CGkhrN5qzaUJGbFNDRjl0S2M'%20in%20parents%20and%20trashed%20=%20false
4151
+ body:
4152
+ encoding: UTF-8
4153
+ string: ''
4154
+ headers:
4155
+ User-Agent:
4156
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
4157
+ Authorization:
4158
+ - Bearer <GOOGLE_TOKEN>
4159
+ Cache-Control:
4160
+ - no-store
4161
+ Content-Type:
4162
+ - application/x-www-form-urlencoded
4163
+ Accept-Encoding:
4164
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
4165
+ Accept:
4166
+ - '*/*'
4167
+ response:
4168
+ status:
4169
+ code: 200
4170
+ message: OK
4171
+ headers:
4172
+ Expires:
4173
+ - Wed, 21 Aug 2013 22:51:58 GMT
4174
+ Date:
4175
+ - Wed, 21 Aug 2013 22:51:58 GMT
4176
+ Cache-Control:
4177
+ - private, max-age=0, must-revalidate, no-transform
4178
+ Etag:
4179
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/J5FBi9PJTgS7OfsP_Dz2xxXILlg"'
4180
+ Content-Type:
4181
+ - application/json; charset=UTF-8
4182
+ X-Content-Type-Options:
4183
+ - nosniff
4184
+ X-Frame-Options:
4185
+ - SAMEORIGIN
4186
+ X-Xss-Protection:
4187
+ - 1; mode=block
4188
+ Server:
4189
+ - GSE
4190
+ Transfer-Encoding:
4191
+ - chunked
4192
+ body:
4193
+ encoding: UTF-8
4194
+ string: |
4195
+ {
4196
+ "items": [
4197
+ {
4198
+ "id": "0B30CGkhrN5qzUzRUTTQ0Zk9fZWs",
4199
+ "title": "file1",
4200
+ "mimeType": "application/octet-stream"
4201
+ },
4202
+ {
4203
+ "id": "0B30CGkhrN5qzRldfNlQzVW53dE0",
4204
+ "title": "LICENSE",
4205
+ "mimeType": "application/octet-stream"
4206
+ },
4207
+ {
4208
+ "id": "0B30CGkhrN5qzTzFWODQ2UFdEM1E",
4209
+ "title": "README.md",
4210
+ "mimeType": "application/octet-stream"
4211
+ },
4212
+ {
4213
+ "id": "0B30CGkhrN5qzWGNDQUxlQkRhNDA",
4214
+ "title": ".git",
4215
+ "mimeType": "application/vnd.google-apps.folder"
4216
+ },
4217
+ {
4218
+ "id": "0B30CGkhrN5qzSWhiZW13bThVd1k",
4219
+ "title": "folder1",
4220
+ "mimeType": "application/vnd.google-apps.folder"
4221
+ },
4222
+ {
4223
+ "id": "0B30CGkhrN5qzR0s2cGQ4a1NRVVU",
4224
+ "title": "folder2",
4225
+ "mimeType": "application/vnd.google-apps.folder"
4226
+ },
4227
+ {
4228
+ "id": "0B30CGkhrN5qzVmFWVkY3S3ZDQWc",
4229
+ "title": "folder3",
4230
+ "mimeType": "application/vnd.google-apps.folder"
4231
+ }
4232
+ ]
4233
+ }
4234
+ http_version:
4235
+ recorded_at: Wed, 21 Aug 2013 22:51:57 GMT
4236
+ - request:
4237
+ method: get
4238
+ uri: https://www.googleapis.com/drive/v2/files?fields=items(id,mimeType,title),nextPageToken&q='0B30CGkhrN5qzSWhiZW13bThVd1k'%20in%20parents%20and%20trashed%20=%20false
4239
+ body:
4240
+ encoding: UTF-8
4241
+ string: ''
4242
+ headers:
4243
+ User-Agent:
4244
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
4245
+ Authorization:
4246
+ - Bearer <GOOGLE_TOKEN>
4247
+ Cache-Control:
4248
+ - no-store
4249
+ Content-Type:
4250
+ - application/x-www-form-urlencoded
4251
+ Accept-Encoding:
4252
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
4253
+ Accept:
4254
+ - '*/*'
4255
+ response:
4256
+ status:
4257
+ code: 200
4258
+ message: OK
4259
+ headers:
4260
+ Expires:
4261
+ - Wed, 21 Aug 2013 22:51:58 GMT
4262
+ Date:
4263
+ - Wed, 21 Aug 2013 22:51:58 GMT
4264
+ Cache-Control:
4265
+ - private, max-age=0, must-revalidate, no-transform
4266
+ Etag:
4267
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/AhNyGXfP5KxB3P3GnelaqG8fekg"'
4268
+ Content-Type:
4269
+ - application/json; charset=UTF-8
4270
+ X-Content-Type-Options:
4271
+ - nosniff
4272
+ X-Frame-Options:
4273
+ - SAMEORIGIN
4274
+ X-Xss-Protection:
4275
+ - 1; mode=block
4276
+ Server:
4277
+ - GSE
4278
+ Transfer-Encoding:
4279
+ - chunked
4280
+ body:
4281
+ encoding: UTF-8
4282
+ string: |
4283
+ {
4284
+ "items": [
4285
+ {
4286
+ "id": "0B30CGkhrN5qzSm5DU0lrMFZLcTA",
4287
+ "title": "test.txt",
4288
+ "mimeType": "text/plain"
4289
+ }
4290
+ ]
4291
+ }
4292
+ http_version:
4293
+ recorded_at: Wed, 21 Aug 2013 22:51:58 GMT
4294
+ recorded_with: VCR 2.5.0