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,4753 @@
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
+ - '43'
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:52:24 GMT
3889
+ - request:
3890
+ method: post
3891
+ uri: https://www.googleapis.com/drive/v2/files
3892
+ body:
3893
+ encoding: UTF-8
3894
+ string: '{"title":"worochi_insertion_test","parents":[{"id":"0B30CGkhrN5qzaUJGbFNDRjl0S2M"}],"mimeType":"application/vnd.google-apps.folder"}'
3895
+ headers:
3896
+ User-Agent:
3897
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
3898
+ Content-Type:
3899
+ - application/json
3900
+ Authorization:
3901
+ - Bearer <GOOGLE_TOKEN>
3902
+ Cache-Control:
3903
+ - no-store
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
+ Cache-Control:
3914
+ - no-cache, no-store, max-age=0, must-revalidate
3915
+ Pragma:
3916
+ - no-cache
3917
+ Expires:
3918
+ - Fri, 01 Jan 1990 00:00:00 GMT
3919
+ Date:
3920
+ - Wed, 21 Aug 2013 22:52:26 GMT
3921
+ Etag:
3922
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/_HTcyeYdn5zXkA3cKJ36cqrrDtI"'
3923
+ Content-Type:
3924
+ - application/json; charset=UTF-8
3925
+ X-Content-Type-Options:
3926
+ - nosniff
3927
+ X-Frame-Options:
3928
+ - SAMEORIGIN
3929
+ X-Xss-Protection:
3930
+ - 1; mode=block
3931
+ Server:
3932
+ - GSE
3933
+ Transfer-Encoding:
3934
+ - chunked
3935
+ body:
3936
+ encoding: UTF-8
3937
+ string: |
3938
+ {
3939
+ "kind": "drive#file",
3940
+ "id": "0B30CGkhrN5qzMmNXeS16RWhfU1U",
3941
+ "etag": "\"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/PmOvAFSixmZydwikrJ_TtCkEpYM\"",
3942
+ "selfLink": "https://www.googleapis.com/drive/v2/files/0B30CGkhrN5qzMmNXeS16RWhfU1U",
3943
+ "alternateLink": "https://docs.google.com/folderview?id=0B30CGkhrN5qzMmNXeS16RWhfU1U&usp=drivesdk",
3944
+ "iconLink": "https://ssl.gstatic.com/docs/doclist/images/icon_11_collection_list.png",
3945
+ "title": "worochi_insertion_test",
3946
+ "mimeType": "application/vnd.google-apps.folder",
3947
+ "labels": {
3948
+ "starred": false,
3949
+ "hidden": false,
3950
+ "trashed": false,
3951
+ "restricted": false,
3952
+ "viewed": true
3953
+ },
3954
+ "createdDate": "2013-08-21T22:52:25.643Z",
3955
+ "modifiedDate": "2013-08-21T22:52:25.500Z",
3956
+ "modifiedByMeDate": "2013-08-21T22:52:25.500Z",
3957
+ "lastViewedByMeDate": "2013-08-21T22:52:25.500Z",
3958
+ "parents": [
3959
+ {
3960
+ "kind": "drive#parentReference",
3961
+ "id": "0B30CGkhrN5qzaUJGbFNDRjl0S2M",
3962
+ "selfLink": "https://www.googleapis.com/drive/v2/files/0B30CGkhrN5qzMmNXeS16RWhfU1U/parents/0B30CGkhrN5qzaUJGbFNDRjl0S2M",
3963
+ "parentLink": "https://www.googleapis.com/drive/v2/files/0B30CGkhrN5qzaUJGbFNDRjl0S2M",
3964
+ "isRoot": false
3965
+ }
3966
+ ],
3967
+ "userPermission": {
3968
+ "kind": "drive#permission",
3969
+ "etag": "\"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/-PkQ_udVX-mVASJlP7F-ko5og2Q\"",
3970
+ "id": "me",
3971
+ "selfLink": "https://www.googleapis.com/drive/v2/files/0B30CGkhrN5qzMmNXeS16RWhfU1U/permissions/me",
3972
+ "role": "owner",
3973
+ "type": "user"
3974
+ },
3975
+ "quotaBytesUsed": "0",
3976
+ "ownerNames": [
3977
+ "Raven Jiang"
3978
+ ],
3979
+ "owners": [
3980
+ {
3981
+ "kind": "drive#user",
3982
+ "displayName": "Raven Jiang",
3983
+ "picture": {
3984
+ "url": "https://lh6.googleusercontent.com/-PDFZ8S6OuGM/AAAAAAAAAAI/AAAAAAAACoo/1PfpLBrZcIQ/s64/photo.jpg"
3985
+ },
3986
+ "isAuthenticatedUser": true,
3987
+ "permissionId": "04143910787253564251"
3988
+ }
3989
+ ],
3990
+ "lastModifyingUserName": "Raven Jiang",
3991
+ "lastModifyingUser": {
3992
+ "kind": "drive#user",
3993
+ "displayName": "Raven Jiang",
3994
+ "picture": {
3995
+ "url": "https://lh6.googleusercontent.com/-PDFZ8S6OuGM/AAAAAAAAAAI/AAAAAAAACoo/1PfpLBrZcIQ/s64/photo.jpg"
3996
+ },
3997
+ "isAuthenticatedUser": true,
3998
+ "permissionId": "04143910787253564251"
3999
+ },
4000
+ "editable": true,
4001
+ "copyable": false,
4002
+ "writersCanShare": true,
4003
+ "shared": false,
4004
+ "appDataContents": false
4005
+ }
4006
+ http_version:
4007
+ recorded_at: Wed, 21 Aug 2013 22:52:26 GMT
4008
+ - request:
4009
+ method: get
4010
+ uri: https://www.googleapis.com/drive/v2/files?fields=items(id,mimeType,title),nextPageToken&q='root'%20in%20parents%20and%20trashed%20=%20false
4011
+ body:
4012
+ encoding: UTF-8
4013
+ string: ''
4014
+ headers:
4015
+ User-Agent:
4016
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
4017
+ Authorization:
4018
+ - Bearer <GOOGLE_TOKEN>
4019
+ Cache-Control:
4020
+ - no-store
4021
+ Content-Type:
4022
+ - application/x-www-form-urlencoded
4023
+ Accept-Encoding:
4024
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
4025
+ Accept:
4026
+ - '*/*'
4027
+ response:
4028
+ status:
4029
+ code: 200
4030
+ message: OK
4031
+ headers:
4032
+ Expires:
4033
+ - Wed, 21 Aug 2013 22:52:26 GMT
4034
+ Date:
4035
+ - Wed, 21 Aug 2013 22:52:26 GMT
4036
+ Cache-Control:
4037
+ - private, max-age=0, must-revalidate, no-transform
4038
+ Etag:
4039
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/H0YPM9LjISiVTjRmLbB2H-vODCI"'
4040
+ Content-Type:
4041
+ - application/json; charset=UTF-8
4042
+ X-Content-Type-Options:
4043
+ - nosniff
4044
+ X-Frame-Options:
4045
+ - SAMEORIGIN
4046
+ X-Xss-Protection:
4047
+ - 1; mode=block
4048
+ Server:
4049
+ - GSE
4050
+ Transfer-Encoding:
4051
+ - chunked
4052
+ body:
4053
+ encoding: ASCII-8BIT
4054
+ string: !binary |-
4055
+ ewogIml0ZW1zIjogWwogIHsKICAgImlkIjogIjBCMzBDR2tock41cXpTRmh4
4056
+ ZDNWME1WaHlTMjgiLAogICAidGl0bGUiOiAid29yb2NoaSIsCiAgICJtaW1l
4057
+ VHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZm9sZGVyIgog
4058
+ IH0sCiAgewogICAiaWQiOiAiMEFuMENHa2hyTjVxemRIWldVM1ZoVmpCQ1NV
4059
+ UlliMmh4VW1aNVdVeDZiMEUiLAogICAidGl0bGUiOiAiRU1CQSBDb21wYW5p
4060
+ ZXMiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1h
4061
+ cHBzLnNwcmVhZHNoZWV0IgogIH0sCiAgewogICAiaWQiOiAiMEIzMENHa2hy
4062
+ TjVxek5YUmpabWh4WWtWTFNrRSIsCiAgICJ0aXRsZSI6ICJVbnRpdGxlZCBE
4063
+ aWFncmFtIiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL214ZSIKICB9
4064
+ LAogIHsKICAgImlkIjogIjBCMzBDR2tock41cXphUzExVDNoVVRHYzRUMnMi
4065
+ LAogICAidGl0bGUiOiAiRGVjaXNpb24gVHJlZSIsCiAgICJtaW1lVHlwZSI6
4066
+ ICJhcHBsaWNhdGlvbi9teGUiCiAgfSwKICB7CiAgICJpZCI6ICIwQjMwQ0dr
4067
+ aHJONXF6WW10d1VEWnZOVkZtUWtFIiwKICAgInRpdGxlIjogIkRlY2lzaW9u
4068
+ IERpYWdyYW0iLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vbXhlIgog
4069
+ IH0sCiAgewogICAiaWQiOiAiMWdJMUQ4ck00SzQ2OHo5Um1hY3ZpVElkQ3cy
4070
+ QzlJc0hQQVEyRjMwby13c1UiLAogICAidGl0bGUiOiAiVW50aXRsZWQgcHJl
4071
+ c2VudGF0aW9uIiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5n
4072
+ b29nbGUtYXBwcy5wcmVzZW50YXRpb24iCiAgfSwKICB7CiAgICJpZCI6ICIw
4073
+ QjMwQ0draHJONXF6UkdwTVIwdFVWWFJ1VmpRIiwKICAgInRpdGxlIjogIkRl
4074
+ Y2lzaW9uIFRyZWUiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vbXhl
4075
+ IgogIH0sCiAgewogICAiaWQiOiAiMEIzMENHa2hyTjVxek5WVnZkMGxmWmtO
4076
+ YVVHOCIsCiAgICJ0aXRsZSI6ICJEZWNpc2lvbiBEaWFncmFtIDIiLAogICAi
4077
+ bWltZVR5cGUiOiAiYXBwbGljYXRpb24vbXhlIgogIH0sCiAgewogICAiaWQi
4078
+ OiAiMU9zcEVMZFBscktXRXREQUVlWDgxam4xYk8tSXd5SHJqdnFfdl9VazVB
4079
+ aVUiLAogICAidGl0bGUiOiAiT25lIGluIGJpbGxpb25zIiwKICAgIm1pbWVU
4080
+ eXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVudCIK
4081
+ ICB9LAogIHsKICAgImlkIjogIjBBbjBDR2tock41cXpkRGMxZVRCRmVFRTRW
4082
+ V0V3UW1KRVlUTm5lVlJ6VWxFIiwKICAgInRpdGxlIjogIlNBUyBGdW5kcyIs
4083
+ CiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMu
4084
+ c3ByZWFkc2hlZXQiCiAgfSwKICB7CiAgICJpZCI6ICIwQjMwQ0draHJONXF6
4085
+ WW1oT2RtTm5aMUpzY1hNIiwKICAgInRpdGxlIjogIlZpcnR1YWxfTWFjaGlu
4086
+ ZV9Nb25pdG9ycy5wcHR4IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9u
4087
+ L3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRp
4088
+ b25tbC5wcmVzZW50YXRpb24iCiAgfSwKICB7CiAgICJpZCI6ICIwQjMwQ0dr
4089
+ aHJONXF6VnpkWmIxQmpObU5qYkdjIiwKICAgInRpdGxlIjogIkNTXzE0MF9G
4090
+ aW5hbF9SZXZpZXcucHB0eCIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlv
4091
+ bi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0
4092
+ aW9ubWwucHJlc2VudGF0aW9uIgogIH0sCiAgewogICAiaWQiOiAiMTlha1lU
4093
+ ZmlLM3plaFByeEJRQ2dvZWJMdVdkX0JGMFo3bXZzTzI0ajJpUDAiLAogICAi
4094
+ dGl0bGUiOiAiQ1MgMTQ0IEZpbmFsIFJldmlldyIsCiAgICJtaW1lVHlwZSI6
4095
+ ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwK
4096
+ ICB7CiAgICJpZCI6ICIxN3A4QlhQTkxBOFRlUkpjdHpuRHJYeWR0cjBNVVV0
4097
+ NDREZDVyU3RRaDlvRSIsCiAgICJ0aXRsZSI6ICJIaXN0b3J5IDk1QyBGaW5h
4098
+ bCBSZXZpZXciLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdv
4099
+ b2dsZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMXFXR2tP
4100
+ NjRoSndNNmRIeUpBd3hjcFZCWDMzWEV6UW5TdGR4cFladWptUnciLAogICAi
4101
+ dGl0bGUiOiAiQ1MgMTEwIEZpbmFsIFJldmlldyIsCiAgICJtaW1lVHlwZSI6
4102
+ ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwK
4103
+ ICB7CiAgICJpZCI6ICIxdGt0WlFYd3N6U1pPdmRPTGt6OUp1M09vMXBPY2VD
4104
+ YlJacG5uWkY2WEh4WSIsCiAgICJ0aXRsZSI6ICJDUyAxNDggRmluYWwgUmV2
4105
+ aWV3IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUt
4106
+ YXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjBBbjBDR2tock41
4107
+ cXpkR2hvU1ZkME5raEpWMmQ0VURVMGJXVlRhMjVFTmtFIiwKICAgInRpdGxl
4108
+ IjogIkNTIDE0OCBBc3NpZ24gNyBHcmFwaHMiLAogICAibWltZVR5cGUiOiAi
4109
+ YXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNwcmVhZHNoZWV0IgogIH0s
4110
+ CiAgewogICAiaWQiOiAiMW5BNGQ5dFpWbkNOcVAyYTNzU3RwQk03N3dmeUQ5
4111
+ UlQ2V2kzTVhzSjBZaDAiLAogICAidGl0bGUiOiAiQ1MgMTQ0IE1pZHRlcm0g
4112
+ UmV2aWV3IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29n
4113
+ bGUtYXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjE2b1BRTHBl
4114
+ Y1ZkNk1GcWdfVkJMQ3puUGFuV3Q5Wng3ZXk2dl9sRVVXNkJJIiwKICAgInRp
4115
+ dGxlIjogIkNTIDE0OCBNaWR0ZXJtIFJldmlldyIsCiAgICJtaW1lVHlwZSI6
4116
+ ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwK
4117
+ ICB7CiAgICJpZCI6ICIxT2Q5UzdmNlhBV0NTZDlZUmkxd2lweXRBOE9DQXJ6
4118
+ ZnZhM0M5UXFlQzVvdyIsCiAgICJ0aXRsZSI6ICJDUyAxMTAgTWlkdGVybSBS
4119
+ ZXZpZXciLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2ds
4120
+ ZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMEIzMENHa2hy
4121
+ TjVxelJqSmpRaTFPVEVOWlMyOCIsCiAgICJ0aXRsZSI6ICJDb21wdXRlciBO
4122
+ ZXR3b3JraW5nLnBkZiIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi9w
4123
+ ZGYiCiAgfSwKICB7CiAgICJpZCI6ICIxSlFTWnV3TzBHUzJ4UEV3SkFsZC05
4124
+ TGw4N2o4S3dpZ1dCT3hReHo1bUI5byIsCiAgICJ0aXRsZSI6ICJOaWNpcmEg
4125
+ SW50ZXJuc2hpcCBQcmVzZW50YXRpb24iLAogICAibWltZVR5cGUiOiAiYXBw
4126
+ bGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnByZXNlbnRhdGlvbiIKICB9LAog
4127
+ IHsKICAgImlkIjogIjFiamItUUFONFI5SW15VVR0amtHTUl5bE5SX1loTks0
4128
+ ZE1nLWdVTUdWV0xrIiwKICAgInRpdGxlIjogIlhlbml0aCBtZXNzYWdlIElE
4129
+ cyIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFw
4130
+ cHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIxNktxUnpCc0xpTVJk
4131
+ SXloNG9JMUFQN1hVMkVaRUZkWm8yWmdxWmxpZGlnMCIsCiAgICJ0aXRsZSI6
4132
+ ICJCT1NQIEJlcmxpbiIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92
4133
+ bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIx
4134
+ TXl0bzExczhDQnBUQlk5b3hDRG9OVV9wSjR5bGhGbEVoTnNCelF0emQ1WSIs
4135
+ CiAgICJ0aXRsZSI6ICJTaWduYXR1cmVzIiwKICAgIm1pbWVUeXBlIjogImFw
4136
+ cGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVudCIKICB9LAogIHsK
4137
+ ICAgImlkIjogIjF6SGZ4c24xVnRvajF4NWxVbVVkZDRkajFtRlB5Mmw5U0c2
4138
+ Z2Q2TUUySkt3IiwKICAgInRpdGxlIjogIlBoaSBQc2kiLAogICAibWltZVR5
4139
+ cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmRvY3VtZW50Igog
4140
+ IH0sCiAgewogICAiaWQiOiAiMVNLT2VFT0NYU0g4Um5fRm40UW4tLWNJYlkx
4141
+ Mi1jZEw2Qi1CdmFtSGhVZmsiLAogICAidGl0bGUiOiAiSW1wb3J0ZWQgZnJv
4142
+ bSBHb29nbGUgTm90ZWJvb2sgLSDjg57jgqQg44OO44O844OI44OW44OD44Kv
4143
+ IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBw
4144
+ cy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjFwNGJDQnl3WlBuYnpf
4145
+ NjhZWEFRbnpCTng3RW54V0xuWFdwSGcwaGVmMTR3IiwKICAgInRpdGxlIjog
4146
+ IlF1YWxpZnlpbmdRbnMtVVMyMDEyLmRvYyIsCiAgICJtaW1lVHlwZSI6ICJh
4147
+ cHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7
4148
+ CiAgICJpZCI6ICIxNmFYVzU1NWdFSVhDNWd4WkpTcUhxbW43LW5qSnFKSHVo
4149
+ ZEZTaUlhVnR6WSIsCiAgICJ0aXRsZSI6ICJQU0MgMjAxMSIsCiAgICJtaW1l
4150
+ VHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQi
4151
+ CiAgfSwKICB7CiAgICJpZCI6ICIxVm1wd3p5Wkk5Z0xTY0swaE5fbzUtYllE
4152
+ OERfVmRvZDVaSnZBOUJEN3lLNCIsCiAgICJ0aXRsZSI6ICJJREEgSW50ZXJ2
4153
+ aWV3IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUt
4154
+ YXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjBBbjBDR2tock41
4155
+ cXpkR1p2TnpCQ1FWaFlZME5WT1RsTWNtbGlPVE5xTVdjIiwKICAgInRpdGxl
4156
+ IjogIkphcGFuIDIwMTEgRXhwZW5kaXR1cmUiLAogICAibWltZVR5cGUiOiAi
4157
+ YXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNwcmVhZHNoZWV0IgogIH0s
4158
+ CiAgewogICAiaWQiOiAiMTZKUnVxdDlpN2RNa0lUUV9GTHc0a09zb1VBR2xU
4159
+ a29YMjZvc2ZxZlY2WUUiLAogICAidGl0bGUiOiAi5Ye654++5p2h5Lu2IiwK
4160
+ ICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5k
4161
+ b2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjFvcS1Fd0ZFcWRKUkJTS243
4162
+ V2hBb011b2JvbGIxQWZWMkJlQUdiMVk5M3pBIiwKICAgInRpdGxlIjogIkxp
4163
+ ZmUgR29hbHMiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdv
4164
+ b2dsZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMVVWazFF
4165
+ enBZMnZPRi1VbzNwNjVSTGctcl9Rbm4tWkx0UE42T1ViU2p3cGsiLAogICAi
4166
+ dGl0bGUiOiAiRmVtYWxlIE5hbWVzIiwKICAgIm1pbWVUeXBlIjogImFwcGxp
4167
+ Y2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAg
4168
+ ImlkIjogIjBBbjBDR2tock41cXpjRU5WZDBrM1ZWTkZTbEpmTm5OUU1XcEJh
4169
+ WGRKU1ZFIiwKICAgInRpdGxlIjogIkphcGFuIDIwMDgiLAogICAibWltZVR5
4170
+ cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNwcmVhZHNoZWV0
4171
+ IgogIH0sCiAgewogICAiaWQiOiAiMEFuMENHa2hyTjVxemNFTlZkMGszVlZO
4172
+ RlNsSmZUR1l0YjAxYWQySk1SSGMiLAogICAidGl0bGUiOiAiZXhwZW5kaXR1
4173
+ cmUiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1h
4174
+ cHBzLnNwcmVhZHNoZWV0IgogIH0sCiAgewogICAiaWQiOiAiMXFtZjUtT1Yw
4175
+ YXF2X3I1YVFpVDRmcHVXSDVyTDBYWlhrc0g2LTFLWDV0bnciLAogICAidGl0
4176
+ bGUiOiAiS2FuamkiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5k
4177
+ Lmdvb2dsZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMXQy
4178
+ VGlSd19ydjIxMEh0TF9wWDYzcGdvYnZTempfWjdDVWNXLVZqa0dLY28iLAog
4179
+ ICAidGl0bGUiOiAiQ29tbW9uIEFwcGxpY2F0aW9uIEVzc2F5IiwKICAgIm1p
4180
+ bWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVu
4181
+ dCIKICB9LAogIHsKICAgImlkIjogIjFBMElVQUtfblItaHFHY19fM1VONEVv
4182
+ bFJLN2JHWEFNOVRVMmd3VVJHWGkwIiwKICAgInRpdGxlIjogIkNhcm5lZ2ll
4183
+ IE1lbGxvbiBFc3NheSIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92
4184
+ bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIx
4185
+ OUZKV0J3ZEV1VmZhOUs5Q0VPeEpvQkZTMVpMNVJTWEpFWFBJQlBiRjB3ZyIs
4186
+ CiAgICJ0aXRsZSI6ICJRdWFudHVtIFBoeXNpY3MiLAogICAibWltZVR5cGUi
4187
+ OiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmRvY3VtZW50IgogIH0s
4188
+ CiAgewogICAiaWQiOiAiMUJ4WFVQY0NKZ3ZTVTRsa2ZNUEtfQ191WVloYXh2
4189
+ bzJJOTdDdlhZckFucGsiLAogICAidGl0bGUiOiAiU2VtaWNvbmR1Y3RvcnMi
4190
+ LAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBz
4191
+ LmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMUthZXhpZ3VDZ3ZBOTRZ
4192
+ cGJkNFFyM24xa2VaZ1V5eVZ4MTZlUWxnOEF5dWciLAogICAidGl0bGUiOiAi
4193
+ QmlvcGh5c2ljcyIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQu
4194
+ Z29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIxNXdy
4195
+ akZSZlppeGQtelNIYXN1ek5CVDFRQUUtZ3R5TDkxZ2hRZVQ5NG9yMCIsCiAg
4196
+ ICJ0aXRsZSI6ICJVUyBBcHBsaWNhdGlvbiBFc3NheSIsCiAgICJtaW1lVHlw
4197
+ ZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAg
4198
+ fSwKICB7CiAgICJpZCI6ICIxVHlObnhpRFVDV2JmY0swRHVwWmFOVmlDcjM3
4199
+ RHNReU1xSGcxVFZhbE9INCIsCiAgICJ0aXRsZSI6ICJSYW5kb20gRXNzYXkg
4200
+ RXhwcmVzc2lvbnMiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5k
4201
+ Lmdvb2dsZS1hcHBzLmRvY3VtZW50IgogIH0KIF0KfQo=
4202
+ http_version:
4203
+ recorded_at: Wed, 21 Aug 2013 22:52:26 GMT
4204
+ - request:
4205
+ method: get
4206
+ uri: https://www.googleapis.com/drive/v2/files?fields=items(id,mimeType,title),nextPageToken&q='0B30CGkhrN5qzSFhxd3V0MVhyS28'%20in%20parents%20and%20trashed%20=%20false
4207
+ body:
4208
+ encoding: UTF-8
4209
+ string: ''
4210
+ headers:
4211
+ User-Agent:
4212
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
4213
+ Authorization:
4214
+ - Bearer <GOOGLE_TOKEN>
4215
+ Cache-Control:
4216
+ - no-store
4217
+ Content-Type:
4218
+ - application/x-www-form-urlencoded
4219
+ Accept-Encoding:
4220
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
4221
+ Accept:
4222
+ - '*/*'
4223
+ response:
4224
+ status:
4225
+ code: 200
4226
+ message: OK
4227
+ headers:
4228
+ Expires:
4229
+ - Wed, 21 Aug 2013 22:52:27 GMT
4230
+ Date:
4231
+ - Wed, 21 Aug 2013 22:52:27 GMT
4232
+ Cache-Control:
4233
+ - private, max-age=0, must-revalidate, no-transform
4234
+ Etag:
4235
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/6jJobcoa4aNl4mvSHzwlwJXjq50"'
4236
+ Content-Type:
4237
+ - application/json; charset=UTF-8
4238
+ X-Content-Type-Options:
4239
+ - nosniff
4240
+ X-Frame-Options:
4241
+ - SAMEORIGIN
4242
+ X-Xss-Protection:
4243
+ - 1; mode=block
4244
+ Server:
4245
+ - GSE
4246
+ Transfer-Encoding:
4247
+ - chunked
4248
+ body:
4249
+ encoding: UTF-8
4250
+ string: |
4251
+ {
4252
+ "items": [
4253
+ {
4254
+ "id": "0B30CGkhrN5qzaUJGbFNDRjl0S2M",
4255
+ "title": "test",
4256
+ "mimeType": "application/vnd.google-apps.folder"
4257
+ },
4258
+ {
4259
+ "id": "1H5aldqCSrYmaC2oy2EAu0CVEJPVN90SbQDksLGG55lo",
4260
+ "title": "Copy of Presentation - Index card",
4261
+ "mimeType": "application/vnd.google-apps.presentation"
4262
+ }
4263
+ ]
4264
+ }
4265
+ http_version:
4266
+ recorded_at: Wed, 21 Aug 2013 22:52:27 GMT
4267
+ - request:
4268
+ method: get
4269
+ uri: https://www.googleapis.com/drive/v2/files?fields=items(id,mimeType,title),nextPageToken&q='0B30CGkhrN5qzaUJGbFNDRjl0S2M'%20in%20parents%20and%20trashed%20=%20false
4270
+ body:
4271
+ encoding: UTF-8
4272
+ string: ''
4273
+ headers:
4274
+ User-Agent:
4275
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
4276
+ Authorization:
4277
+ - Bearer <GOOGLE_TOKEN>
4278
+ Cache-Control:
4279
+ - no-store
4280
+ Content-Type:
4281
+ - application/x-www-form-urlencoded
4282
+ Accept-Encoding:
4283
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
4284
+ Accept:
4285
+ - '*/*'
4286
+ response:
4287
+ status:
4288
+ code: 200
4289
+ message: OK
4290
+ headers:
4291
+ Expires:
4292
+ - Wed, 21 Aug 2013 22:52:27 GMT
4293
+ Date:
4294
+ - Wed, 21 Aug 2013 22:52:27 GMT
4295
+ Cache-Control:
4296
+ - private, max-age=0, must-revalidate, no-transform
4297
+ Etag:
4298
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/qr1R-_OjTochs4zrMEYSsm5qPVw"'
4299
+ Content-Type:
4300
+ - application/json; charset=UTF-8
4301
+ X-Content-Type-Options:
4302
+ - nosniff
4303
+ X-Frame-Options:
4304
+ - SAMEORIGIN
4305
+ X-Xss-Protection:
4306
+ - 1; mode=block
4307
+ Server:
4308
+ - GSE
4309
+ Transfer-Encoding:
4310
+ - chunked
4311
+ body:
4312
+ encoding: UTF-8
4313
+ string: |
4314
+ {
4315
+ "items": [
4316
+ {
4317
+ "id": "0B30CGkhrN5qzMmNXeS16RWhfU1U",
4318
+ "title": "worochi_insertion_test",
4319
+ "mimeType": "application/vnd.google-apps.folder"
4320
+ },
4321
+ {
4322
+ "id": "0B30CGkhrN5qzUzRUTTQ0Zk9fZWs",
4323
+ "title": "file1",
4324
+ "mimeType": "application/octet-stream"
4325
+ },
4326
+ {
4327
+ "id": "0B30CGkhrN5qzRldfNlQzVW53dE0",
4328
+ "title": "LICENSE",
4329
+ "mimeType": "application/octet-stream"
4330
+ },
4331
+ {
4332
+ "id": "0B30CGkhrN5qzTzFWODQ2UFdEM1E",
4333
+ "title": "README.md",
4334
+ "mimeType": "application/octet-stream"
4335
+ },
4336
+ {
4337
+ "id": "0B30CGkhrN5qzWGNDQUxlQkRhNDA",
4338
+ "title": ".git",
4339
+ "mimeType": "application/vnd.google-apps.folder"
4340
+ },
4341
+ {
4342
+ "id": "0B30CGkhrN5qzSWhiZW13bThVd1k",
4343
+ "title": "folder1",
4344
+ "mimeType": "application/vnd.google-apps.folder"
4345
+ },
4346
+ {
4347
+ "id": "0B30CGkhrN5qzR0s2cGQ4a1NRVVU",
4348
+ "title": "folder2",
4349
+ "mimeType": "application/vnd.google-apps.folder"
4350
+ },
4351
+ {
4352
+ "id": "0B30CGkhrN5qzVmFWVkY3S3ZDQWc",
4353
+ "title": "folder3",
4354
+ "mimeType": "application/vnd.google-apps.folder"
4355
+ }
4356
+ ]
4357
+ }
4358
+ http_version:
4359
+ recorded_at: Wed, 21 Aug 2013 22:52:27 GMT
4360
+ - request:
4361
+ method: get
4362
+ uri: https://www.googleapis.com/drive/v2/files?fields=items(id,mimeType,title),nextPageToken&q='root'%20in%20parents%20and%20trashed%20=%20false
4363
+ body:
4364
+ encoding: UTF-8
4365
+ string: ''
4366
+ headers:
4367
+ User-Agent:
4368
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
4369
+ Authorization:
4370
+ - Bearer <GOOGLE_TOKEN>
4371
+ Cache-Control:
4372
+ - no-store
4373
+ Content-Type:
4374
+ - application/x-www-form-urlencoded
4375
+ Accept-Encoding:
4376
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
4377
+ Accept:
4378
+ - '*/*'
4379
+ response:
4380
+ status:
4381
+ code: 200
4382
+ message: OK
4383
+ headers:
4384
+ Expires:
4385
+ - Wed, 21 Aug 2013 22:52:28 GMT
4386
+ Date:
4387
+ - Wed, 21 Aug 2013 22:52:28 GMT
4388
+ Cache-Control:
4389
+ - private, max-age=0, must-revalidate, no-transform
4390
+ Etag:
4391
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/Hqe4qu0NI2oCWhdYDu4DcbSw3XY"'
4392
+ Content-Type:
4393
+ - application/json; charset=UTF-8
4394
+ X-Content-Type-Options:
4395
+ - nosniff
4396
+ X-Frame-Options:
4397
+ - SAMEORIGIN
4398
+ X-Xss-Protection:
4399
+ - 1; mode=block
4400
+ Server:
4401
+ - GSE
4402
+ Transfer-Encoding:
4403
+ - chunked
4404
+ body:
4405
+ encoding: ASCII-8BIT
4406
+ string: !binary |-
4407
+ ewogIml0ZW1zIjogWwogIHsKICAgImlkIjogIjBCMzBDR2tock41cXpTRmh4
4408
+ ZDNWME1WaHlTMjgiLAogICAidGl0bGUiOiAid29yb2NoaSIsCiAgICJtaW1l
4409
+ VHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZm9sZGVyIgog
4410
+ IH0sCiAgewogICAiaWQiOiAiMEFuMENHa2hyTjVxemRIWldVM1ZoVmpCQ1NV
4411
+ UlliMmh4VW1aNVdVeDZiMEUiLAogICAidGl0bGUiOiAiRU1CQSBDb21wYW5p
4412
+ ZXMiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1h
4413
+ cHBzLnNwcmVhZHNoZWV0IgogIH0sCiAgewogICAiaWQiOiAiMEIzMENHa2hy
4414
+ TjVxek5YUmpabWh4WWtWTFNrRSIsCiAgICJ0aXRsZSI6ICJVbnRpdGxlZCBE
4415
+ aWFncmFtIiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL214ZSIKICB9
4416
+ LAogIHsKICAgImlkIjogIjBCMzBDR2tock41cXphUzExVDNoVVRHYzRUMnMi
4417
+ LAogICAidGl0bGUiOiAiRGVjaXNpb24gVHJlZSIsCiAgICJtaW1lVHlwZSI6
4418
+ ICJhcHBsaWNhdGlvbi9teGUiCiAgfSwKICB7CiAgICJpZCI6ICIwQjMwQ0dr
4419
+ aHJONXF6WW10d1VEWnZOVkZtUWtFIiwKICAgInRpdGxlIjogIkRlY2lzaW9u
4420
+ IERpYWdyYW0iLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vbXhlIgog
4421
+ IH0sCiAgewogICAiaWQiOiAiMWdJMUQ4ck00SzQ2OHo5Um1hY3ZpVElkQ3cy
4422
+ QzlJc0hQQVEyRjMwby13c1UiLAogICAidGl0bGUiOiAiVW50aXRsZWQgcHJl
4423
+ c2VudGF0aW9uIiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5n
4424
+ b29nbGUtYXBwcy5wcmVzZW50YXRpb24iCiAgfSwKICB7CiAgICJpZCI6ICIw
4425
+ QjMwQ0draHJONXF6UkdwTVIwdFVWWFJ1VmpRIiwKICAgInRpdGxlIjogIkRl
4426
+ Y2lzaW9uIFRyZWUiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vbXhl
4427
+ IgogIH0sCiAgewogICAiaWQiOiAiMEIzMENHa2hyTjVxek5WVnZkMGxmWmtO
4428
+ YVVHOCIsCiAgICJ0aXRsZSI6ICJEZWNpc2lvbiBEaWFncmFtIDIiLAogICAi
4429
+ bWltZVR5cGUiOiAiYXBwbGljYXRpb24vbXhlIgogIH0sCiAgewogICAiaWQi
4430
+ OiAiMU9zcEVMZFBscktXRXREQUVlWDgxam4xYk8tSXd5SHJqdnFfdl9VazVB
4431
+ aVUiLAogICAidGl0bGUiOiAiT25lIGluIGJpbGxpb25zIiwKICAgIm1pbWVU
4432
+ eXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVudCIK
4433
+ ICB9LAogIHsKICAgImlkIjogIjBBbjBDR2tock41cXpkRGMxZVRCRmVFRTRW
4434
+ V0V3UW1KRVlUTm5lVlJ6VWxFIiwKICAgInRpdGxlIjogIlNBUyBGdW5kcyIs
4435
+ CiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMu
4436
+ c3ByZWFkc2hlZXQiCiAgfSwKICB7CiAgICJpZCI6ICIwQjMwQ0draHJONXF6
4437
+ WW1oT2RtTm5aMUpzY1hNIiwKICAgInRpdGxlIjogIlZpcnR1YWxfTWFjaGlu
4438
+ ZV9Nb25pdG9ycy5wcHR4IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9u
4439
+ L3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5wcmVzZW50YXRp
4440
+ b25tbC5wcmVzZW50YXRpb24iCiAgfSwKICB7CiAgICJpZCI6ICIwQjMwQ0dr
4441
+ aHJONXF6VnpkWmIxQmpObU5qYkdjIiwKICAgInRpdGxlIjogIkNTXzE0MF9G
4442
+ aW5hbF9SZXZpZXcucHB0eCIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlv
4443
+ bi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0
4444
+ aW9ubWwucHJlc2VudGF0aW9uIgogIH0sCiAgewogICAiaWQiOiAiMTlha1lU
4445
+ ZmlLM3plaFByeEJRQ2dvZWJMdVdkX0JGMFo3bXZzTzI0ajJpUDAiLAogICAi
4446
+ dGl0bGUiOiAiQ1MgMTQ0IEZpbmFsIFJldmlldyIsCiAgICJtaW1lVHlwZSI6
4447
+ ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwK
4448
+ ICB7CiAgICJpZCI6ICIxN3A4QlhQTkxBOFRlUkpjdHpuRHJYeWR0cjBNVVV0
4449
+ NDREZDVyU3RRaDlvRSIsCiAgICJ0aXRsZSI6ICJIaXN0b3J5IDk1QyBGaW5h
4450
+ bCBSZXZpZXciLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdv
4451
+ b2dsZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMXFXR2tP
4452
+ NjRoSndNNmRIeUpBd3hjcFZCWDMzWEV6UW5TdGR4cFladWptUnciLAogICAi
4453
+ dGl0bGUiOiAiQ1MgMTEwIEZpbmFsIFJldmlldyIsCiAgICJtaW1lVHlwZSI6
4454
+ ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwK
4455
+ ICB7CiAgICJpZCI6ICIxdGt0WlFYd3N6U1pPdmRPTGt6OUp1M09vMXBPY2VD
4456
+ YlJacG5uWkY2WEh4WSIsCiAgICJ0aXRsZSI6ICJDUyAxNDggRmluYWwgUmV2
4457
+ aWV3IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUt
4458
+ YXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjBBbjBDR2tock41
4459
+ cXpkR2hvU1ZkME5raEpWMmQ0VURVMGJXVlRhMjVFTmtFIiwKICAgInRpdGxl
4460
+ IjogIkNTIDE0OCBBc3NpZ24gNyBHcmFwaHMiLAogICAibWltZVR5cGUiOiAi
4461
+ YXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNwcmVhZHNoZWV0IgogIH0s
4462
+ CiAgewogICAiaWQiOiAiMW5BNGQ5dFpWbkNOcVAyYTNzU3RwQk03N3dmeUQ5
4463
+ UlQ2V2kzTVhzSjBZaDAiLAogICAidGl0bGUiOiAiQ1MgMTQ0IE1pZHRlcm0g
4464
+ UmV2aWV3IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29n
4465
+ bGUtYXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjE2b1BRTHBl
4466
+ Y1ZkNk1GcWdfVkJMQ3puUGFuV3Q5Wng3ZXk2dl9sRVVXNkJJIiwKICAgInRp
4467
+ dGxlIjogIkNTIDE0OCBNaWR0ZXJtIFJldmlldyIsCiAgICJtaW1lVHlwZSI6
4468
+ ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwK
4469
+ ICB7CiAgICJpZCI6ICIxT2Q5UzdmNlhBV0NTZDlZUmkxd2lweXRBOE9DQXJ6
4470
+ ZnZhM0M5UXFlQzVvdyIsCiAgICJ0aXRsZSI6ICJDUyAxMTAgTWlkdGVybSBS
4471
+ ZXZpZXciLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2ds
4472
+ ZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMEIzMENHa2hy
4473
+ TjVxelJqSmpRaTFPVEVOWlMyOCIsCiAgICJ0aXRsZSI6ICJDb21wdXRlciBO
4474
+ ZXR3b3JraW5nLnBkZiIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi9w
4475
+ ZGYiCiAgfSwKICB7CiAgICJpZCI6ICIxSlFTWnV3TzBHUzJ4UEV3SkFsZC05
4476
+ TGw4N2o4S3dpZ1dCT3hReHo1bUI5byIsCiAgICJ0aXRsZSI6ICJOaWNpcmEg
4477
+ SW50ZXJuc2hpcCBQcmVzZW50YXRpb24iLAogICAibWltZVR5cGUiOiAiYXBw
4478
+ bGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnByZXNlbnRhdGlvbiIKICB9LAog
4479
+ IHsKICAgImlkIjogIjFiamItUUFONFI5SW15VVR0amtHTUl5bE5SX1loTks0
4480
+ ZE1nLWdVTUdWV0xrIiwKICAgInRpdGxlIjogIlhlbml0aCBtZXNzYWdlIElE
4481
+ cyIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFw
4482
+ cHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIxNktxUnpCc0xpTVJk
4483
+ SXloNG9JMUFQN1hVMkVaRUZkWm8yWmdxWmxpZGlnMCIsCiAgICJ0aXRsZSI6
4484
+ ICJCT1NQIEJlcmxpbiIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92
4485
+ bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIx
4486
+ TXl0bzExczhDQnBUQlk5b3hDRG9OVV9wSjR5bGhGbEVoTnNCelF0emQ1WSIs
4487
+ CiAgICJ0aXRsZSI6ICJTaWduYXR1cmVzIiwKICAgIm1pbWVUeXBlIjogImFw
4488
+ cGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVudCIKICB9LAogIHsK
4489
+ ICAgImlkIjogIjF6SGZ4c24xVnRvajF4NWxVbVVkZDRkajFtRlB5Mmw5U0c2
4490
+ Z2Q2TUUySkt3IiwKICAgInRpdGxlIjogIlBoaSBQc2kiLAogICAibWltZVR5
4491
+ cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmRvY3VtZW50Igog
4492
+ IH0sCiAgewogICAiaWQiOiAiMVNLT2VFT0NYU0g4Um5fRm40UW4tLWNJYlkx
4493
+ Mi1jZEw2Qi1CdmFtSGhVZmsiLAogICAidGl0bGUiOiAiSW1wb3J0ZWQgZnJv
4494
+ bSBHb29nbGUgTm90ZWJvb2sgLSDjg57jgqQg44OO44O844OI44OW44OD44Kv
4495
+ IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBw
4496
+ cy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjFwNGJDQnl3WlBuYnpf
4497
+ NjhZWEFRbnpCTng3RW54V0xuWFdwSGcwaGVmMTR3IiwKICAgInRpdGxlIjog
4498
+ IlF1YWxpZnlpbmdRbnMtVVMyMDEyLmRvYyIsCiAgICJtaW1lVHlwZSI6ICJh
4499
+ cHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7
4500
+ CiAgICJpZCI6ICIxNmFYVzU1NWdFSVhDNWd4WkpTcUhxbW43LW5qSnFKSHVo
4501
+ ZEZTaUlhVnR6WSIsCiAgICJ0aXRsZSI6ICJQU0MgMjAxMSIsCiAgICJtaW1l
4502
+ VHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQi
4503
+ CiAgfSwKICB7CiAgICJpZCI6ICIxVm1wd3p5Wkk5Z0xTY0swaE5fbzUtYllE
4504
+ OERfVmRvZDVaSnZBOUJEN3lLNCIsCiAgICJ0aXRsZSI6ICJJREEgSW50ZXJ2
4505
+ aWV3IiwKICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUt
4506
+ YXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjBBbjBDR2tock41
4507
+ cXpkR1p2TnpCQ1FWaFlZME5WT1RsTWNtbGlPVE5xTVdjIiwKICAgInRpdGxl
4508
+ IjogIkphcGFuIDIwMTEgRXhwZW5kaXR1cmUiLAogICAibWltZVR5cGUiOiAi
4509
+ YXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNwcmVhZHNoZWV0IgogIH0s
4510
+ CiAgewogICAiaWQiOiAiMTZKUnVxdDlpN2RNa0lUUV9GTHc0a09zb1VBR2xU
4511
+ a29YMjZvc2ZxZlY2WUUiLAogICAidGl0bGUiOiAi5Ye654++5p2h5Lu2IiwK
4512
+ ICAgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5k
4513
+ b2N1bWVudCIKICB9LAogIHsKICAgImlkIjogIjFvcS1Fd0ZFcWRKUkJTS243
4514
+ V2hBb011b2JvbGIxQWZWMkJlQUdiMVk5M3pBIiwKICAgInRpdGxlIjogIkxp
4515
+ ZmUgR29hbHMiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdv
4516
+ b2dsZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMVVWazFF
4517
+ enBZMnZPRi1VbzNwNjVSTGctcl9Rbm4tWkx0UE42T1ViU2p3cGsiLAogICAi
4518
+ dGl0bGUiOiAiRmVtYWxlIE5hbWVzIiwKICAgIm1pbWVUeXBlIjogImFwcGxp
4519
+ Y2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVudCIKICB9LAogIHsKICAg
4520
+ ImlkIjogIjBBbjBDR2tock41cXpjRU5WZDBrM1ZWTkZTbEpmTm5OUU1XcEJh
4521
+ WGRKU1ZFIiwKICAgInRpdGxlIjogIkphcGFuIDIwMDgiLAogICAibWltZVR5
4522
+ cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLnNwcmVhZHNoZWV0
4523
+ IgogIH0sCiAgewogICAiaWQiOiAiMEFuMENHa2hyTjVxemNFTlZkMGszVlZO
4524
+ RlNsSmZUR1l0YjAxYWQySk1SSGMiLAogICAidGl0bGUiOiAiZXhwZW5kaXR1
4525
+ cmUiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1h
4526
+ cHBzLnNwcmVhZHNoZWV0IgogIH0sCiAgewogICAiaWQiOiAiMXFtZjUtT1Yw
4527
+ YXF2X3I1YVFpVDRmcHVXSDVyTDBYWlhrc0g2LTFLWDV0bnciLAogICAidGl0
4528
+ bGUiOiAiS2FuamkiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5k
4529
+ Lmdvb2dsZS1hcHBzLmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMXQy
4530
+ VGlSd19ydjIxMEh0TF9wWDYzcGdvYnZTempfWjdDVWNXLVZqa0dLY28iLAog
4531
+ ICAidGl0bGUiOiAiQ29tbW9uIEFwcGxpY2F0aW9uIEVzc2F5IiwKICAgIm1p
4532
+ bWVUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5nb29nbGUtYXBwcy5kb2N1bWVu
4533
+ dCIKICB9LAogIHsKICAgImlkIjogIjFBMElVQUtfblItaHFHY19fM1VONEVv
4534
+ bFJLN2JHWEFNOVRVMmd3VVJHWGkwIiwKICAgInRpdGxlIjogIkNhcm5lZ2ll
4535
+ IE1lbGxvbiBFc3NheSIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92
4536
+ bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIx
4537
+ OUZKV0J3ZEV1VmZhOUs5Q0VPeEpvQkZTMVpMNVJTWEpFWFBJQlBiRjB3ZyIs
4538
+ CiAgICJ0aXRsZSI6ICJRdWFudHVtIFBoeXNpY3MiLAogICAibWltZVR5cGUi
4539
+ OiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBzLmRvY3VtZW50IgogIH0s
4540
+ CiAgewogICAiaWQiOiAiMUJ4WFVQY0NKZ3ZTVTRsa2ZNUEtfQ191WVloYXh2
4541
+ bzJJOTdDdlhZckFucGsiLAogICAidGl0bGUiOiAiU2VtaWNvbmR1Y3RvcnMi
4542
+ LAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmdvb2dsZS1hcHBz
4543
+ LmRvY3VtZW50IgogIH0sCiAgewogICAiaWQiOiAiMUthZXhpZ3VDZ3ZBOTRZ
4544
+ cGJkNFFyM24xa2VaZ1V5eVZ4MTZlUWxnOEF5dWciLAogICAidGl0bGUiOiAi
4545
+ QmlvcGh5c2ljcyIsCiAgICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQu
4546
+ Z29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAgfSwKICB7CiAgICJpZCI6ICIxNXdy
4547
+ akZSZlppeGQtelNIYXN1ek5CVDFRQUUtZ3R5TDkxZ2hRZVQ5NG9yMCIsCiAg
4548
+ ICJ0aXRsZSI6ICJVUyBBcHBsaWNhdGlvbiBFc3NheSIsCiAgICJtaW1lVHlw
4549
+ ZSI6ICJhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWFwcHMuZG9jdW1lbnQiCiAg
4550
+ fSwKICB7CiAgICJpZCI6ICIxVHlObnhpRFVDV2JmY0swRHVwWmFOVmlDcjM3
4551
+ RHNReU1xSGcxVFZhbE9INCIsCiAgICJ0aXRsZSI6ICJSYW5kb20gRXNzYXkg
4552
+ RXhwcmVzc2lvbnMiLAogICAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vdm5k
4553
+ Lmdvb2dsZS1hcHBzLmRvY3VtZW50IgogIH0KIF0KfQo=
4554
+ http_version:
4555
+ recorded_at: Wed, 21 Aug 2013 22:52:28 GMT
4556
+ - request:
4557
+ method: get
4558
+ uri: https://www.googleapis.com/drive/v2/files?fields=items(id,mimeType,title),nextPageToken&q='0B30CGkhrN5qzSFhxd3V0MVhyS28'%20in%20parents%20and%20trashed%20=%20false
4559
+ body:
4560
+ encoding: UTF-8
4561
+ string: ''
4562
+ headers:
4563
+ User-Agent:
4564
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
4565
+ Authorization:
4566
+ - Bearer <GOOGLE_TOKEN>
4567
+ Cache-Control:
4568
+ - no-store
4569
+ Content-Type:
4570
+ - application/x-www-form-urlencoded
4571
+ Accept-Encoding:
4572
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
4573
+ Accept:
4574
+ - '*/*'
4575
+ response:
4576
+ status:
4577
+ code: 200
4578
+ message: OK
4579
+ headers:
4580
+ Expires:
4581
+ - Wed, 21 Aug 2013 22:52:28 GMT
4582
+ Date:
4583
+ - Wed, 21 Aug 2013 22:52:28 GMT
4584
+ Cache-Control:
4585
+ - private, max-age=0, must-revalidate, no-transform
4586
+ Etag:
4587
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/RPUpRoKmaFjlw42mM7TW6WjBPEI"'
4588
+ Content-Type:
4589
+ - application/json; charset=UTF-8
4590
+ X-Content-Type-Options:
4591
+ - nosniff
4592
+ X-Frame-Options:
4593
+ - SAMEORIGIN
4594
+ X-Xss-Protection:
4595
+ - 1; mode=block
4596
+ Server:
4597
+ - GSE
4598
+ Transfer-Encoding:
4599
+ - chunked
4600
+ body:
4601
+ encoding: UTF-8
4602
+ string: |
4603
+ {
4604
+ "items": [
4605
+ {
4606
+ "id": "0B30CGkhrN5qzaUJGbFNDRjl0S2M",
4607
+ "title": "test",
4608
+ "mimeType": "application/vnd.google-apps.folder"
4609
+ },
4610
+ {
4611
+ "id": "1H5aldqCSrYmaC2oy2EAu0CVEJPVN90SbQDksLGG55lo",
4612
+ "title": "Copy of Presentation - Index card",
4613
+ "mimeType": "application/vnd.google-apps.presentation"
4614
+ }
4615
+ ]
4616
+ }
4617
+ http_version:
4618
+ recorded_at: Wed, 21 Aug 2013 22:52:28 GMT
4619
+ - request:
4620
+ method: get
4621
+ uri: https://www.googleapis.com/drive/v2/files?fields=items(id,mimeType,title),nextPageToken&q='0B30CGkhrN5qzaUJGbFNDRjl0S2M'%20in%20parents%20and%20trashed%20=%20false
4622
+ body:
4623
+ encoding: UTF-8
4624
+ string: ''
4625
+ headers:
4626
+ User-Agent:
4627
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
4628
+ Authorization:
4629
+ - Bearer <GOOGLE_TOKEN>
4630
+ Cache-Control:
4631
+ - no-store
4632
+ Content-Type:
4633
+ - application/x-www-form-urlencoded
4634
+ Accept-Encoding:
4635
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
4636
+ Accept:
4637
+ - '*/*'
4638
+ response:
4639
+ status:
4640
+ code: 200
4641
+ message: OK
4642
+ headers:
4643
+ Expires:
4644
+ - Wed, 21 Aug 2013 22:52:29 GMT
4645
+ Date:
4646
+ - Wed, 21 Aug 2013 22:52:29 GMT
4647
+ Cache-Control:
4648
+ - private, max-age=0, must-revalidate, no-transform
4649
+ Etag:
4650
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/qr1R-_OjTochs4zrMEYSsm5qPVw"'
4651
+ Content-Type:
4652
+ - application/json; charset=UTF-8
4653
+ X-Content-Type-Options:
4654
+ - nosniff
4655
+ X-Frame-Options:
4656
+ - SAMEORIGIN
4657
+ X-Xss-Protection:
4658
+ - 1; mode=block
4659
+ Server:
4660
+ - GSE
4661
+ Transfer-Encoding:
4662
+ - chunked
4663
+ body:
4664
+ encoding: UTF-8
4665
+ string: |
4666
+ {
4667
+ "items": [
4668
+ {
4669
+ "id": "0B30CGkhrN5qzMmNXeS16RWhfU1U",
4670
+ "title": "worochi_insertion_test",
4671
+ "mimeType": "application/vnd.google-apps.folder"
4672
+ },
4673
+ {
4674
+ "id": "0B30CGkhrN5qzUzRUTTQ0Zk9fZWs",
4675
+ "title": "file1",
4676
+ "mimeType": "application/octet-stream"
4677
+ },
4678
+ {
4679
+ "id": "0B30CGkhrN5qzRldfNlQzVW53dE0",
4680
+ "title": "LICENSE",
4681
+ "mimeType": "application/octet-stream"
4682
+ },
4683
+ {
4684
+ "id": "0B30CGkhrN5qzTzFWODQ2UFdEM1E",
4685
+ "title": "README.md",
4686
+ "mimeType": "application/octet-stream"
4687
+ },
4688
+ {
4689
+ "id": "0B30CGkhrN5qzWGNDQUxlQkRhNDA",
4690
+ "title": ".git",
4691
+ "mimeType": "application/vnd.google-apps.folder"
4692
+ },
4693
+ {
4694
+ "id": "0B30CGkhrN5qzSWhiZW13bThVd1k",
4695
+ "title": "folder1",
4696
+ "mimeType": "application/vnd.google-apps.folder"
4697
+ },
4698
+ {
4699
+ "id": "0B30CGkhrN5qzR0s2cGQ4a1NRVVU",
4700
+ "title": "folder2",
4701
+ "mimeType": "application/vnd.google-apps.folder"
4702
+ },
4703
+ {
4704
+ "id": "0B30CGkhrN5qzVmFWVkY3S3ZDQWc",
4705
+ "title": "folder3",
4706
+ "mimeType": "application/vnd.google-apps.folder"
4707
+ }
4708
+ ]
4709
+ }
4710
+ http_version:
4711
+ recorded_at: Wed, 21 Aug 2013 22:52:29 GMT
4712
+ - request:
4713
+ method: delete
4714
+ uri: https://www.googleapis.com/drive/v2/files/0B30CGkhrN5qzMmNXeS16RWhfU1U
4715
+ body:
4716
+ encoding: UTF-8
4717
+ string: ''
4718
+ headers:
4719
+ User-Agent:
4720
+ - Worochi/0.0.14 google-api-ruby-client/0.6.4 Linux/3.5.0-17-generic
4721
+ Authorization:
4722
+ - Bearer <GOOGLE_TOKEN>
4723
+ Cache-Control:
4724
+ - no-store
4725
+ Content-Type:
4726
+ - application/x-www-form-urlencoded
4727
+ Accept-Encoding:
4728
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
4729
+ Accept:
4730
+ - '*/*'
4731
+ response:
4732
+ status:
4733
+ code: 204
4734
+ message: No Content
4735
+ headers:
4736
+ Cache-Control:
4737
+ - no-cache, no-store, max-age=0, must-revalidate
4738
+ Pragma:
4739
+ - no-cache
4740
+ Expires:
4741
+ - Fri, 01 Jan 1990 00:00:00 GMT
4742
+ Date:
4743
+ - Wed, 21 Aug 2013 22:52:29 GMT
4744
+ Etag:
4745
+ - '"NaUPR8AuDOKgpQqXUqmAHnRC-Nk/vyGp6PvFo4RvsFtPoIWeCReyIC8"'
4746
+ Server:
4747
+ - GSE
4748
+ body:
4749
+ encoding: UTF-8
4750
+ string: ''
4751
+ http_version:
4752
+ recorded_at: Wed, 21 Aug 2013 22:52:29 GMT
4753
+ recorded_with: VCR 2.5.0