google-cells 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +26 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +2 -0
  5. data/CHANGELOG.md +28 -0
  6. data/Gemfile +4 -0
  7. data/Gemfile.lock +73 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +75 -0
  10. data/Rakefile +4 -0
  11. data/examples/oauth2_service_account.rb +17 -0
  12. data/examples/oauth2_web_flow.rb +66 -0
  13. data/examples/sinatra/routes.rb +21 -0
  14. data/google_cells.gemspec +30 -0
  15. data/lib/google_cells.rb +80 -0
  16. data/lib/google_cells/author.rb +7 -0
  17. data/lib/google_cells/cell.rb +32 -0
  18. data/lib/google_cells/cell_selector.rb +18 -0
  19. data/lib/google_cells/cell_selector/row_selector.rb +70 -0
  20. data/lib/google_cells/fetcher.rb +27 -0
  21. data/lib/google_cells/folder.rb +7 -0
  22. data/lib/google_cells/google_object.rb +31 -0
  23. data/lib/google_cells/reader.rb +19 -0
  24. data/lib/google_cells/row.rb +7 -0
  25. data/lib/google_cells/spreadsheet.rb +179 -0
  26. data/lib/google_cells/url_helper.rb +37 -0
  27. data/lib/google_cells/util.rb +17 -0
  28. data/lib/google_cells/version.rb +3 -0
  29. data/lib/google_cells/worksheet.rb +63 -0
  30. data/spec/google_cells/cell_selector/row_selector_spec.rb +104 -0
  31. data/spec/google_cells/cell_selector_spec.rb +26 -0
  32. data/spec/google_cells/fetcher_spec.rb +21 -0
  33. data/spec/google_cells/google_object_spec.rb +18 -0
  34. data/spec/google_cells/reader_spec.rb +24 -0
  35. data/spec/google_cells/spreadsheet_spec.rb +171 -0
  36. data/spec/google_cells/url_helper_spec.rb +15 -0
  37. data/spec/google_cells/worksheet_spec.rb +69 -0
  38. data/spec/google_cells_spec.rb +13 -0
  39. data/spec/spec_helper.rb +30 -0
  40. data/spec/vcr_cassettes/google_cells/cell_selector/each.yml +9147 -0
  41. data/spec/vcr_cassettes/google_cells/cell_selector/find_each.yml +10272 -0
  42. data/spec/vcr_cassettes/google_cells/cell_selector/find_each/selection.yml +947 -0
  43. data/spec/vcr_cassettes/google_cells/fetcher.yml +144 -0
  44. data/spec/vcr_cassettes/google_cells/reader.yml +144 -0
  45. data/spec/vcr_cassettes/google_cells/spreadsheet/cell_selector/worksheet.yml +276 -0
  46. data/spec/vcr_cassettes/google_cells/spreadsheet/copy.yml +447 -0
  47. data/spec/vcr_cassettes/google_cells/spreadsheet/copy/content.yml +18555 -0
  48. data/spec/vcr_cassettes/google_cells/spreadsheet/enfold.yml +259 -0
  49. data/spec/vcr_cassettes/google_cells/spreadsheet/folders.yml +319 -0
  50. data/spec/vcr_cassettes/google_cells/spreadsheet/get.yml +135 -0
  51. data/spec/vcr_cassettes/google_cells/spreadsheet/list.yml +276 -0
  52. data/spec/vcr_cassettes/google_cells/spreadsheet/worksheets.yml +276 -0
  53. data/spec/vcr_cassettes/google_cells/worksheet/save.yml +9555 -0
  54. data/spec/vcr_cassettes/google_cells/worksheets.yml +145 -0
  55. metadata +250 -0
@@ -0,0 +1,259 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://accounts.google.com/o/oauth2/token
6
+ body:
7
+ encoding: ASCII-8BIT
8
+ string: grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiIxOTQ1Nzg3NTQyOTVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzY29wZSI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZHJpdmUgaHR0cHM6Ly9zcHJlYWRzaGVldHMuZ29vZ2xlLmNvbS9mZWVkcyIsImF1ZCI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsImV4cCI6MTM5MzE3Mzc1MSwiaWF0IjoxMzkzMTczNjMxfQ.CjWK91HLTjFMbBM6FNsYX94c3PTZXuqcJ6PSorgl6_zWkLKVu_eiVJcPl54wuRrCBdjgLSpE8O3dkriJiiN3hhxZiB9-nck2VXfk_X6DLIzLLanvzU6bMqn0uhIxkwFBlcE2PK7_3_StmY3wBBEFQ85NzNG8paaBaQWQxfQQ34U
9
+ headers:
10
+ Cache-Control:
11
+ - no-store
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
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Cache-Control:
26
+ - no-cache, no-store, max-age=0, must-revalidate
27
+ Pragma:
28
+ - no-cache
29
+ Expires:
30
+ - Fri, 01 Jan 1990 00:00:00 GMT
31
+ Date:
32
+ - Sun, 23 Feb 2014 16:41:29 GMT
33
+ Content-Type:
34
+ - application/json
35
+ X-Content-Type-Options:
36
+ - nosniff
37
+ X-Frame-Options:
38
+ - SAMEORIGIN
39
+ X-Xss-Protection:
40
+ - 1; mode=block
41
+ Server:
42
+ - GSE
43
+ Alternate-Protocol:
44
+ - 443:quic
45
+ Transfer-Encoding:
46
+ - chunked
47
+ body:
48
+ encoding: UTF-8
49
+ string: |-
50
+ {
51
+ "access_token" : "ya29.1.AADtN_U2u_PkgowURFtgG4hxm7kfrR9Q57a6ezE6CmtXWaF8JdYvcDs77JX3lPTrIg",
52
+ "token_type" : "Bearer",
53
+ "expires_in" : 3600
54
+ }
55
+ http_version:
56
+ recorded_at: Sun, 23 Feb 2014 16:41:31 GMT
57
+ - request:
58
+ method: get
59
+ uri: https://spreadsheets.google.com/feeds/spreadsheets/private/full
60
+ body:
61
+ encoding: UTF-8
62
+ string: ''
63
+ headers:
64
+ User-Agent:
65
+ - |-
66
+ GoogleCells App/0.0.3 google-api-ruby-client/0.7.1 Mac OS X/10.8.5
67
+ (gzip)
68
+ Accept-Encoding:
69
+ - gzip
70
+ Content-Type:
71
+ - ''
72
+ Authorization:
73
+ - Bearer ya29.1.AADtN_U2u_PkgowURFtgG4hxm7kfrR9Q57a6ezE6CmtXWaF8JdYvcDs77JX3lPTrIg
74
+ Cache-Control:
75
+ - no-store
76
+ Accept:
77
+ - "*/*"
78
+ response:
79
+ status:
80
+ code: 200
81
+ message: OK
82
+ headers:
83
+ Content-Type:
84
+ - application/atom+xml; charset=UTF-8
85
+ Expires:
86
+ - Sun, 23 Feb 2014 16:41:29 GMT
87
+ Date:
88
+ - Sun, 23 Feb 2014 16:41:29 GMT
89
+ Cache-Control:
90
+ - private, max-age=0, must-revalidate, no-transform
91
+ Vary:
92
+ - Accept, X-GData-Authorization, GData-Version
93
+ Gdata-Version:
94
+ - '1.0'
95
+ Last-Modified:
96
+ - Sun, 23 Feb 2014 16:41:29 GMT
97
+ Transfer-Encoding:
98
+ - chunked
99
+ Set-Cookie:
100
+ - NID=67=v0fo2bBiy3xdN4cIefFdqmBCSfD4o-vpaJ9ybYojJStrnIQ6OUGNZJFootAT75g3iHRB1uKYQmpOOLz1MCbTBjC8wQt5Gfr2Jwml1slKFviwUe-SRCRF-LY8CJMNqkC_;Domain=.google.com;Path=/;Expires=Mon,
101
+ 25-Aug-2014 16:41:29 GMT;HttpOnly
102
+ P3p:
103
+ - CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657
104
+ for more info."
105
+ X-Content-Type-Options:
106
+ - nosniff
107
+ X-Frame-Options:
108
+ - SAMEORIGIN
109
+ X-Xss-Protection:
110
+ - 1; mode=block
111
+ Server:
112
+ - GSE
113
+ Alternate-Protocol:
114
+ - 443:quic
115
+ body:
116
+ encoding: ASCII-8BIT
117
+ string: "<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom'
118
+ xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>https://spreadsheets.google.com/feeds/spreadsheets/private/full</id><updated>2014-02-23T16:41:29.703Z</updated><category
119
+ scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#spreadsheet'/><title
120
+ type='text'>Available Spreadsheets - 194578754295@developer.gserviceaccount.com</title><link
121
+ rel='alternate' type='text/html' href='http://docs.google.com'/><link rel='http://schemas.google.com/g/2005#feed'
122
+ type='application/atom+xml' href='https://spreadsheets.google.com/feeds/spreadsheets/private/full'/><link
123
+ rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/spreadsheets/private/full'/><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><entry><id>https://spreadsheets.google.com/feeds/spreadsheets/private/full/tqr4sp_CcLuHVOYKgnCjmRQ</id><updated>2014-02-23T04:52:51.908Z</updated><category
124
+ scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#spreadsheet'/><title
125
+ type='text'>My Spreadsheet</title><content type='text'>My Spreadsheet</content><link
126
+ rel='http://schemas.google.com/spreadsheets/2006#worksheetsfeed' type='application/atom+xml'
127
+ href='https://spreadsheets.google.com/feeds/worksheets/tqr4sp_CcLuHVOYKgnCjmRQ/private/full'/><link
128
+ rel='alternate' type='text/html' href='https://spreadsheets.google.com/ccc?key=0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE'/><link
129
+ rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/spreadsheets/private/full/tqr4sp_CcLuHVOYKgnCjmRQ'/><author><name>194578754295</name><email>194578754295@developer.gserviceaccount.com</email></author></entry><entry><id>https://spreadsheets.google.com/feeds/spreadsheets/private/full/t-2GqcZyylK76PuAi9qaUUQ</id><updated>2014-02-23T03:46:36.938Z</updated><category
130
+ scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#spreadsheet'/><title
131
+ type='text'>My Spreadsheet</title><content type='text'>My Spreadsheet</content><link
132
+ rel='http://schemas.google.com/spreadsheets/2006#worksheetsfeed' type='application/atom+xml'
133
+ href='https://spreadsheets.google.com/feeds/worksheets/t-2GqcZyylK76PuAi9qaUUQ/private/full'/><link
134
+ rel='alternate' type='text/html' href='https://spreadsheets.google.com/ccc?key=0ApTxW-6l0Ch_dC0yR3FjWnl5bEs3NlB1QWk5cWFVVVE'/><link
135
+ rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/spreadsheets/private/full/t-2GqcZyylK76PuAi9qaUUQ'/><author><name>194578754295</name><email>194578754295@developer.gserviceaccount.com</email></author></entry><entry><id>https://spreadsheets.google.com/feeds/spreadsheets/private/full/tUEEknHRVNmWyhQuKv1l-Bw</id><updated>2014-02-23T02:25:18.152Z</updated><category
136
+ scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#spreadsheet'/><title
137
+ type='text'>My Spreadsheet</title><content type='text'>My Spreadsheet</content><link
138
+ rel='http://schemas.google.com/spreadsheets/2006#worksheetsfeed' type='application/atom+xml'
139
+ href='https://spreadsheets.google.com/feeds/worksheets/tUEEknHRVNmWyhQuKv1l-Bw/private/full'/><link
140
+ rel='alternate' type='text/html' href='https://spreadsheets.google.com/ccc?key=0AsfWTr-e4bf1dFVFRWtuSFJWTm1XeWhRdUt2MWwtQnc'/><link
141
+ rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/spreadsheets/private/full/tUEEknHRVNmWyhQuKv1l-Bw'/><author><name>194578754295</name><email>194578754295@developer.gserviceaccount.com</email></author></entry></feed>"
142
+ http_version:
143
+ recorded_at: Sun, 23 Feb 2014 16:41:32 GMT
144
+ - request:
145
+ method: post
146
+ uri: https://accounts.google.com/o/oauth2/token
147
+ body:
148
+ encoding: ASCII-8BIT
149
+ string: grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiIxOTQ1Nzg3NTQyOTVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzY29wZSI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZHJpdmUgaHR0cHM6Ly9zcHJlYWRzaGVldHMuZ29vZ2xlLmNvbS9mZWVkcyIsImF1ZCI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsImV4cCI6MTM5MzE3Mzc1MiwiaWF0IjoxMzkzMTczNjMyfQ.F-Ua7c0qQLKdJ7dT-Wq0ATjMpIyMyJwvhxohDtotP5z3NBUsnvNjZVZF9t1zsbhcSQkJc27R6oY9JmfoZTGpp42uGy3y86cf_cP5zNw0E5xGv6RvqhB-tw75qZnZ5wrDNhTYlODOeWVr7pFxMC1eTfcLs77UG2EMOCo5EsQJPAE
150
+ headers:
151
+ Cache-Control:
152
+ - no-store
153
+ Content-Type:
154
+ - application/x-www-form-urlencoded
155
+ Accept-Encoding:
156
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
157
+ Accept:
158
+ - "*/*"
159
+ User-Agent:
160
+ - Ruby
161
+ response:
162
+ status:
163
+ code: 200
164
+ message: OK
165
+ headers:
166
+ Cache-Control:
167
+ - no-cache, no-store, max-age=0, must-revalidate
168
+ Pragma:
169
+ - no-cache
170
+ Expires:
171
+ - Fri, 01 Jan 1990 00:00:00 GMT
172
+ Date:
173
+ - Sun, 23 Feb 2014 16:41:29 GMT
174
+ Content-Type:
175
+ - application/json
176
+ X-Content-Type-Options:
177
+ - nosniff
178
+ X-Frame-Options:
179
+ - SAMEORIGIN
180
+ X-Xss-Protection:
181
+ - 1; mode=block
182
+ Server:
183
+ - GSE
184
+ Alternate-Protocol:
185
+ - 443:quic
186
+ Transfer-Encoding:
187
+ - chunked
188
+ body:
189
+ encoding: UTF-8
190
+ string: |-
191
+ {
192
+ "access_token" : "ya29.1.AADtN_U2u_PkgowURFtgG4hxm7kfrR9Q57a6ezE6CmtXWaF8JdYvcDs77JX3lPTrIg",
193
+ "token_type" : "Bearer",
194
+ "expires_in" : 3600
195
+ }
196
+ http_version:
197
+ recorded_at: Sun, 23 Feb 2014 16:41:32 GMT
198
+ - request:
199
+ method: post
200
+ uri: https://www.googleapis.com/drive/v2/files/0B5TxW-6l0Ch_elJwQlVMaGcwTjA/children
201
+ body:
202
+ encoding: UTF-8
203
+ string: "{\"id\":\"0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE\"}"
204
+ headers:
205
+ User-Agent:
206
+ - |-
207
+ GoogleCells App/0.0.3 google-api-ruby-client/0.7.1 Mac OS X/10.8.5
208
+ (gzip)
209
+ Content-Type:
210
+ - application/json
211
+ Accept-Encoding:
212
+ - gzip
213
+ Authorization:
214
+ - Bearer ya29.1.AADtN_U2u_PkgowURFtgG4hxm7kfrR9Q57a6ezE6CmtXWaF8JdYvcDs77JX3lPTrIg
215
+ Cache-Control:
216
+ - no-store
217
+ Accept:
218
+ - "*/*"
219
+ response:
220
+ status:
221
+ code: 200
222
+ message: OK
223
+ headers:
224
+ Cache-Control:
225
+ - no-cache, no-store, max-age=0, must-revalidate
226
+ Pragma:
227
+ - no-cache
228
+ Expires:
229
+ - Fri, 01 Jan 1990 00:00:00 GMT
230
+ Date:
231
+ - Sun, 23 Feb 2014 16:41:30 GMT
232
+ Etag:
233
+ - "\"GJcqFgACxaboeo6aKKeP6-mh0PE/wTRYnoDXCub6djN4UsM4gfmTN8M\""
234
+ Content-Type:
235
+ - application/json; charset=UTF-8
236
+ X-Content-Type-Options:
237
+ - nosniff
238
+ X-Frame-Options:
239
+ - SAMEORIGIN
240
+ X-Xss-Protection:
241
+ - 1; mode=block
242
+ Content-Length:
243
+ - '336'
244
+ Server:
245
+ - GSE
246
+ Alternate-Protocol:
247
+ - 443:quic
248
+ body:
249
+ encoding: ASCII-8BIT
250
+ string: |
251
+ {
252
+ "kind": "drive#childReference",
253
+ "id": "0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE",
254
+ "selfLink": "https://www.googleapis.com/drive/v2/files/0B5TxW-6l0Ch_elJwQlVMaGcwTjA/children/0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE",
255
+ "childLink": "https://www.googleapis.com/drive/v2/files/0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE"
256
+ }
257
+ http_version:
258
+ recorded_at: Sun, 23 Feb 2014 16:41:32 GMT
259
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,319 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://accounts.google.com/o/oauth2/token
6
+ body:
7
+ encoding: ASCII-8BIT
8
+ string: grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiIxOTQ1Nzg3NTQyOTVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzY29wZSI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZHJpdmUgaHR0cHM6Ly9zcHJlYWRzaGVldHMuZ29vZ2xlLmNvbS9mZWVkcyIsImF1ZCI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsImV4cCI6MTM5MzEzMTI0MiwiaWF0IjoxMzkzMTMxMTIyfQ.F7uI49Kc6qHXx-5ecFQ4PSlKbLJXRIIxaXyPD05OkZoNhX0444UUcufOlswHm2VKj3XqA8fKKw0FUtc_eWsTcdLmet9yhNk-o-J5RhcvS23K5ktd2iq3WO2ZghAWgzLG-5FpYKUe2feAlaSry6rHq0smXT5ElLmRjQ336q_bsY4
9
+ headers:
10
+ Cache-Control:
11
+ - no-store
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
+ User-Agent:
19
+ - Ruby
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Cache-Control:
26
+ - no-cache, no-store, max-age=0, must-revalidate
27
+ Pragma:
28
+ - no-cache
29
+ Expires:
30
+ - Fri, 01 Jan 1990 00:00:00 GMT
31
+ Date:
32
+ - Sun, 23 Feb 2014 04:53:03 GMT
33
+ Content-Type:
34
+ - application/json
35
+ X-Content-Type-Options:
36
+ - nosniff
37
+ X-Frame-Options:
38
+ - SAMEORIGIN
39
+ X-Xss-Protection:
40
+ - 1; mode=block
41
+ Server:
42
+ - GSE
43
+ Alternate-Protocol:
44
+ - 443:quic
45
+ Transfer-Encoding:
46
+ - chunked
47
+ body:
48
+ encoding: UTF-8
49
+ string: |-
50
+ {
51
+ "access_token" : "ya29.1.AADtN_UrOjJrtv_2xtiE_naLtKvQpiAQrjgHrnEuSqlWN1NvvyQAveRd_OK6gxh2zg",
52
+ "token_type" : "Bearer",
53
+ "expires_in" : 3600
54
+ }
55
+ http_version:
56
+ recorded_at: Sun, 23 Feb 2014 04:53:03 GMT
57
+ - request:
58
+ method: get
59
+ uri: https://spreadsheets.google.com/feeds/spreadsheets/private/full
60
+ body:
61
+ encoding: UTF-8
62
+ string: ''
63
+ headers:
64
+ User-Agent:
65
+ - |-
66
+ GoogleCells App/0.0.3 google-api-ruby-client/0.7.1 Mac OS X/10.8.5
67
+ (gzip)
68
+ Accept-Encoding:
69
+ - gzip
70
+ Content-Type:
71
+ - ''
72
+ Authorization:
73
+ - Bearer ya29.1.AADtN_UrOjJrtv_2xtiE_naLtKvQpiAQrjgHrnEuSqlWN1NvvyQAveRd_OK6gxh2zg
74
+ Cache-Control:
75
+ - no-store
76
+ Accept:
77
+ - "*/*"
78
+ response:
79
+ status:
80
+ code: 200
81
+ message: OK
82
+ headers:
83
+ Content-Type:
84
+ - application/atom+xml; charset=UTF-8
85
+ Expires:
86
+ - Sun, 23 Feb 2014 04:53:03 GMT
87
+ Date:
88
+ - Sun, 23 Feb 2014 04:53:03 GMT
89
+ Cache-Control:
90
+ - private, max-age=0, must-revalidate, no-transform
91
+ Vary:
92
+ - Accept, X-GData-Authorization, GData-Version
93
+ Gdata-Version:
94
+ - '1.0'
95
+ Last-Modified:
96
+ - Sun, 23 Feb 2014 04:53:03 GMT
97
+ Transfer-Encoding:
98
+ - chunked
99
+ Set-Cookie:
100
+ - NID=67=Hn7_9yVngwXq8p_FviTCBEXRxp243hb0hwsMjfv2JF2vCV7ZijePu6nkRAEYJXyiK2u0ot4UarVQ_ADcrCwuZ1wLv0lJweAeCl2ay1bvYX6NvBrJnl0X1M62C4L5iOsQ;Domain=.google.com;Path=/;Expires=Mon,
101
+ 25-Aug-2014 04:53:03 GMT;HttpOnly
102
+ P3p:
103
+ - CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657
104
+ for more info."
105
+ X-Content-Type-Options:
106
+ - nosniff
107
+ X-Frame-Options:
108
+ - SAMEORIGIN
109
+ X-Xss-Protection:
110
+ - 1; mode=block
111
+ Server:
112
+ - GSE
113
+ Alternate-Protocol:
114
+ - 443:quic
115
+ body:
116
+ encoding: ASCII-8BIT
117
+ string: "<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom'
118
+ xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>https://spreadsheets.google.com/feeds/spreadsheets/private/full</id><updated>2014-02-23T04:53:03.478Z</updated><category
119
+ scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#spreadsheet'/><title
120
+ type='text'>Available Spreadsheets - 194578754295@developer.gserviceaccount.com</title><link
121
+ rel='alternate' type='text/html' href='http://docs.google.com'/><link rel='http://schemas.google.com/g/2005#feed'
122
+ type='application/atom+xml' href='https://spreadsheets.google.com/feeds/spreadsheets/private/full'/><link
123
+ rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/spreadsheets/private/full'/><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><entry><id>https://spreadsheets.google.com/feeds/spreadsheets/private/full/tqr4sp_CcLuHVOYKgnCjmRQ</id><updated>2014-02-23T04:52:51.162Z</updated><category
124
+ scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#spreadsheet'/><title
125
+ type='text'>My Spreadsheet</title><content type='text'>My Spreadsheet</content><link
126
+ rel='http://schemas.google.com/spreadsheets/2006#worksheetsfeed' type='application/atom+xml'
127
+ href='https://spreadsheets.google.com/feeds/worksheets/tqr4sp_CcLuHVOYKgnCjmRQ/private/full'/><link
128
+ rel='alternate' type='text/html' href='https://spreadsheets.google.com/ccc?key=0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE'/><link
129
+ rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/spreadsheets/private/full/tqr4sp_CcLuHVOYKgnCjmRQ'/><author><name>194578754295</name><email>194578754295@developer.gserviceaccount.com</email></author></entry><entry><id>https://spreadsheets.google.com/feeds/spreadsheets/private/full/t-2GqcZyylK76PuAi9qaUUQ</id><updated>2014-02-23T03:46:36.938Z</updated><category
130
+ scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#spreadsheet'/><title
131
+ type='text'>My Spreadsheet</title><content type='text'>My Spreadsheet</content><link
132
+ rel='http://schemas.google.com/spreadsheets/2006#worksheetsfeed' type='application/atom+xml'
133
+ href='https://spreadsheets.google.com/feeds/worksheets/t-2GqcZyylK76PuAi9qaUUQ/private/full'/><link
134
+ rel='alternate' type='text/html' href='https://spreadsheets.google.com/ccc?key=0ApTxW-6l0Ch_dC0yR3FjWnl5bEs3NlB1QWk5cWFVVVE'/><link
135
+ rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/spreadsheets/private/full/t-2GqcZyylK76PuAi9qaUUQ'/><author><name>194578754295</name><email>194578754295@developer.gserviceaccount.com</email></author></entry><entry><id>https://spreadsheets.google.com/feeds/spreadsheets/private/full/tUEEknHRVNmWyhQuKv1l-Bw</id><updated>2014-02-23T02:25:18.152Z</updated><category
136
+ scheme='http://schemas.google.com/spreadsheets/2006' term='http://schemas.google.com/spreadsheets/2006#spreadsheet'/><title
137
+ type='text'>My Spreadsheet</title><content type='text'>My Spreadsheet</content><link
138
+ rel='http://schemas.google.com/spreadsheets/2006#worksheetsfeed' type='application/atom+xml'
139
+ href='https://spreadsheets.google.com/feeds/worksheets/tUEEknHRVNmWyhQuKv1l-Bw/private/full'/><link
140
+ rel='alternate' type='text/html' href='https://spreadsheets.google.com/ccc?key=0AsfWTr-e4bf1dFVFRWtuSFJWTm1XeWhRdUt2MWwtQnc'/><link
141
+ rel='self' type='application/atom+xml' href='https://spreadsheets.google.com/feeds/spreadsheets/private/full/tUEEknHRVNmWyhQuKv1l-Bw'/><author><name>194578754295</name><email>194578754295@developer.gserviceaccount.com</email></author></entry></feed>"
142
+ http_version:
143
+ recorded_at: Sun, 23 Feb 2014 04:53:03 GMT
144
+ - request:
145
+ method: post
146
+ uri: https://accounts.google.com/o/oauth2/token
147
+ body:
148
+ encoding: ASCII-8BIT
149
+ string: grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiIxOTQ1Nzg3NTQyOTVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzY29wZSI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvZHJpdmUgaHR0cHM6Ly9zcHJlYWRzaGVldHMuZ29vZ2xlLmNvbS9mZWVkcyIsImF1ZCI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsImV4cCI6MTM5MzEzMTI0MywiaWF0IjoxMzkzMTMxMTIzfQ.MEbZiI3gBWyTk2RuY08YYiB7DfJWNqD2Yvwqxg5BFxxm85SnneZJQnukWMmTyReW1IOhAN2IYtxfeWtP4-JrYXXqj9VwpUDII4RZ8RMr5bX4FJN3mb_8KQd1ygWLvJHKKWt7jf-BVB6QD1eoEEYc6UATlEJmwogm2OQqCVPj77A
150
+ headers:
151
+ Cache-Control:
152
+ - no-store
153
+ Content-Type:
154
+ - application/x-www-form-urlencoded
155
+ Accept-Encoding:
156
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
157
+ Accept:
158
+ - "*/*"
159
+ User-Agent:
160
+ - Ruby
161
+ response:
162
+ status:
163
+ code: 200
164
+ message: OK
165
+ headers:
166
+ Cache-Control:
167
+ - no-cache, no-store, max-age=0, must-revalidate
168
+ Pragma:
169
+ - no-cache
170
+ Expires:
171
+ - Fri, 01 Jan 1990 00:00:00 GMT
172
+ Date:
173
+ - Sun, 23 Feb 2014 04:53:03 GMT
174
+ Content-Type:
175
+ - application/json
176
+ X-Content-Type-Options:
177
+ - nosniff
178
+ X-Frame-Options:
179
+ - SAMEORIGIN
180
+ X-Xss-Protection:
181
+ - 1; mode=block
182
+ Server:
183
+ - GSE
184
+ Alternate-Protocol:
185
+ - 443:quic
186
+ Transfer-Encoding:
187
+ - chunked
188
+ body:
189
+ encoding: UTF-8
190
+ string: |-
191
+ {
192
+ "access_token" : "ya29.1.AADtN_UrOjJrtv_2xtiE_naLtKvQpiAQrjgHrnEuSqlWN1NvvyQAveRd_OK6gxh2zg",
193
+ "token_type" : "Bearer",
194
+ "expires_in" : 3600
195
+ }
196
+ http_version:
197
+ recorded_at: Sun, 23 Feb 2014 04:53:03 GMT
198
+ - request:
199
+ method: get
200
+ uri: https://www.googleapis.com/drive/v2/files/0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE
201
+ body:
202
+ encoding: UTF-8
203
+ string: ''
204
+ headers:
205
+ User-Agent:
206
+ - |-
207
+ GoogleCells App/0.0.3 google-api-ruby-client/0.7.1 Mac OS X/10.8.5
208
+ (gzip)
209
+ Accept-Encoding:
210
+ - gzip
211
+ Content-Type:
212
+ - ''
213
+ Authorization:
214
+ - Bearer ya29.1.AADtN_UrOjJrtv_2xtiE_naLtKvQpiAQrjgHrnEuSqlWN1NvvyQAveRd_OK6gxh2zg
215
+ Cache-Control:
216
+ - no-store
217
+ Accept:
218
+ - "*/*"
219
+ response:
220
+ status:
221
+ code: 200
222
+ message: OK
223
+ headers:
224
+ Expires:
225
+ - Sun, 23 Feb 2014 04:53:03 GMT
226
+ Date:
227
+ - Sun, 23 Feb 2014 04:53:03 GMT
228
+ Cache-Control:
229
+ - private, max-age=0, must-revalidate, no-transform
230
+ Etag:
231
+ - "\"GJcqFgACxaboeo6aKKeP6-mh0PE/MTM5MzEzMTE3MTE2Mg\""
232
+ Content-Type:
233
+ - application/json; charset=UTF-8
234
+ X-Content-Type-Options:
235
+ - nosniff
236
+ X-Frame-Options:
237
+ - SAMEORIGIN
238
+ X-Xss-Protection:
239
+ - 1; mode=block
240
+ Content-Length:
241
+ - '2815'
242
+ Server:
243
+ - GSE
244
+ Alternate-Protocol:
245
+ - 443:quic
246
+ body:
247
+ encoding: ASCII-8BIT
248
+ string: |
249
+ {
250
+ "kind": "drive#file",
251
+ "id": "0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE",
252
+ "etag": "\"GJcqFgACxaboeo6aKKeP6-mh0PE/MTM5MzEzMTE3MTE2Mg\"",
253
+ "selfLink": "https://www.googleapis.com/drive/v2/files/0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE",
254
+ "alternateLink": "https://docs.google.com/spreadsheet/ccc?key=0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE&usp=drivesdk",
255
+ "embedLink": "https://docs.google.com/spreadsheet/ccc?key=0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE&output=html&chrome=false&widget=true",
256
+ "iconLink": "https://ssl.gstatic.com/docs/doclist/images/icon_11_spreadsheet_list.png",
257
+ "title": "My Spreadsheet",
258
+ "mimeType": "application/vnd.google-apps.spreadsheet",
259
+ "labels": {
260
+ "starred": false,
261
+ "hidden": false,
262
+ "trashed": false,
263
+ "restricted": false,
264
+ "viewed": true
265
+ },
266
+ "createdDate": "2014-02-23T04:52:51.750Z",
267
+ "modifiedDate": "2014-02-23T04:52:51.162Z",
268
+ "modifiedByMeDate": "2014-02-23T04:52:51.162Z",
269
+ "lastViewedByMeDate": "2014-02-23T04:52:51.162Z",
270
+ "parents": [
271
+ {
272
+ "kind": "drive#parentReference",
273
+ "id": "0AJTxW-6l0Ch_Uk9PVA",
274
+ "selfLink": "https://www.googleapis.com/drive/v2/files/0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE/parents/0AJTxW-6l0Ch_Uk9PVA",
275
+ "parentLink": "https://www.googleapis.com/drive/v2/files/0AJTxW-6l0Ch_Uk9PVA",
276
+ "isRoot": true
277
+ }
278
+ ],
279
+ "exportLinks": {
280
+ "application/pdf": "https://docs.google.com/feeds/download/spreadsheets/Export?key=0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE&exportFormat=pdf",
281
+ "application/x-vnd.oasis.opendocument.spreadsheet": "https://docs.google.com/feeds/download/spreadsheets/Export?key=0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE&exportFormat=ods",
282
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "https://docs.google.com/feeds/download/spreadsheets/Export?key=0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE&exportFormat=xlsx"
283
+ },
284
+ "userPermission": {
285
+ "kind": "drive#permission",
286
+ "etag": "\"GJcqFgACxaboeo6aKKeP6-mh0PE/Mxog80vB7UYcyGpd8mMTgA5zdGU\"",
287
+ "id": "me",
288
+ "selfLink": "https://www.googleapis.com/drive/v2/files/0ApTxW-6l0Ch_dHFyNHNwX0NjTHVIVk9ZS2duQ2ptUlE/permissions/me",
289
+ "role": "owner",
290
+ "type": "user"
291
+ },
292
+ "quotaBytesUsed": "0",
293
+ "ownerNames": [
294
+ "194578754295@developer.gserviceaccount.com"
295
+ ],
296
+ "owners": [
297
+ {
298
+ "kind": "drive#user",
299
+ "displayName": "194578754295@developer.gserviceaccount.com",
300
+ "isAuthenticatedUser": true,
301
+ "permissionId": "11551606779529143063"
302
+ }
303
+ ],
304
+ "lastModifyingUserName": "194578754295@developer.gserviceaccount.com",
305
+ "lastModifyingUser": {
306
+ "kind": "drive#user",
307
+ "displayName": "194578754295@developer.gserviceaccount.com",
308
+ "isAuthenticatedUser": true,
309
+ "permissionId": "11551606779529143063"
310
+ },
311
+ "editable": true,
312
+ "copyable": true,
313
+ "writersCanShare": true,
314
+ "shared": false,
315
+ "appDataContents": false
316
+ }
317
+ http_version:
318
+ recorded_at: Sun, 23 Feb 2014 04:53:03 GMT
319
+ recorded_with: VCR 2.8.0