google-cells 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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