gdata-jruby-client 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/MIT-LICENSE +22 -0
  2. data/README +25 -0
  3. data/lib/base.rb +16 -0
  4. data/lib/base_entry.rb +20 -0
  5. data/lib/calendar_event_entry.rb +3 -0
  6. data/lib/calendar_service.rb +19 -0
  7. data/lib/contacts_service.rb +17 -0
  8. data/lib/email.rb +16 -0
  9. data/lib/extended_property.rb +14 -0
  10. data/lib/gdata/COPYING +202 -0
  11. data/lib/gdata/RELEASE_NOTES.txt +448 -0
  12. data/lib/gdata/java/deps/google-collect-1.0-rc1.jar +0 -0
  13. data/lib/gdata/java/deps/jsr305.jar +0 -0
  14. data/lib/gdata/java/lib/gdata-analytics-2.0.jar +0 -0
  15. data/lib/gdata/java/lib/gdata-analytics-meta-2.0.jar +0 -0
  16. data/lib/gdata/java/lib/gdata-appsforyourdomain-1.0.jar +0 -0
  17. data/lib/gdata/java/lib/gdata-appsforyourdomain-meta-1.0.jar +0 -0
  18. data/lib/gdata/java/lib/gdata-base-1.0.jar +0 -0
  19. data/lib/gdata/java/lib/gdata-blogger-2.0.jar +0 -0
  20. data/lib/gdata/java/lib/gdata-blogger-meta-2.0.jar +0 -0
  21. data/lib/gdata/java/lib/gdata-books-1.0.jar +0 -0
  22. data/lib/gdata/java/lib/gdata-books-meta-1.0.jar +0 -0
  23. data/lib/gdata/java/lib/gdata-calendar-2.0.jar +0 -0
  24. data/lib/gdata/java/lib/gdata-calendar-meta-2.0.jar +0 -0
  25. data/lib/gdata/java/lib/gdata-client-1.0.jar +0 -0
  26. data/lib/gdata/java/lib/gdata-client-meta-1.0.jar +0 -0
  27. data/lib/gdata/java/lib/gdata-codesearch-2.0.jar +0 -0
  28. data/lib/gdata/java/lib/gdata-codesearch-meta-2.0.jar +0 -0
  29. data/lib/gdata/java/lib/gdata-contacts-3.0.jar +0 -0
  30. data/lib/gdata/java/lib/gdata-contacts-meta-3.0.jar +0 -0
  31. data/lib/gdata/java/lib/gdata-core-1.0.jar +0 -0
  32. data/lib/gdata/java/lib/gdata-docs-3.0.jar +0 -0
  33. data/lib/gdata/java/lib/gdata-docs-meta-3.0.jar +0 -0
  34. data/lib/gdata/java/lib/gdata-finance-2.0.jar +0 -0
  35. data/lib/gdata/java/lib/gdata-finance-meta-2.0.jar +0 -0
  36. data/lib/gdata/java/lib/gdata-health-2.0.jar +0 -0
  37. data/lib/gdata/java/lib/gdata-health-meta-2.0.jar +0 -0
  38. data/lib/gdata/java/lib/gdata-maps-2.0.jar +0 -0
  39. data/lib/gdata/java/lib/gdata-maps-meta-2.0.jar +0 -0
  40. data/lib/gdata/java/lib/gdata-media-1.0.jar +0 -0
  41. data/lib/gdata/java/lib/gdata-photos-2.0.jar +0 -0
  42. data/lib/gdata/java/lib/gdata-photos-meta-2.0.jar +0 -0
  43. data/lib/gdata/java/lib/gdata-projecthosting-2.0.jar +0 -0
  44. data/lib/gdata/java/lib/gdata-projecthosting-meta-2.0.jar +0 -0
  45. data/lib/gdata/java/lib/gdata-sidewiki-2.0.jar +0 -0
  46. data/lib/gdata/java/lib/gdata-sidewiki-meta-2.0.jar +0 -0
  47. data/lib/gdata/java/lib/gdata-sites-2.0.jar +0 -0
  48. data/lib/gdata/java/lib/gdata-sites-meta-2.0.jar +0 -0
  49. data/lib/gdata/java/lib/gdata-spreadsheet-3.0.jar +0 -0
  50. data/lib/gdata/java/lib/gdata-spreadsheet-meta-3.0.jar +0 -0
  51. data/lib/gdata/java/lib/gdata-webmastertools-2.0.jar +0 -0
  52. data/lib/gdata/java/lib/gdata-webmastertools-meta-2.0.jar +0 -0
  53. data/lib/gdata/java/lib/gdata-youtube-2.0.jar +0 -0
  54. data/lib/gdata/java/lib/gdata-youtube-meta-2.0.jar +0 -0
  55. data/lib/gdata/java/version.properties +46 -0
  56. data/lib/gdata_jruby_client.rb +22 -0
  57. data/lib/google_helpers.rb +14 -0
  58. data/lib/google_oauth_parameters.rb +13 -0
  59. data/lib/google_service.rb +58 -0
  60. data/lib/im.rb +16 -0
  61. data/lib/query.rb +12 -0
  62. data/lib/recurrence.rb +14 -0
  63. data/lib/string_ext.rb +10 -0
  64. data/lib/text_content.rb +5 -0
  65. data/lib/time_ext.rb +49 -0
  66. data/lib/when.rb +16 -0
  67. data/spec/entry_spec.rb +22 -0
  68. data/spec/google_calendar_service_spec.rb +296 -0
  69. data/spec/google_contacts_service_spec.rb +149 -0
  70. data/spec/google_keys.rb +11 -0
  71. data/spec/google_oauth_parameters_spec.rb +20 -0
  72. data/spec/images/sergey.jpg +0 -0
  73. data/spec/images/sergey_out.jpg +0 -0
  74. metadata +126 -0
data/MIT-LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2009 Jerry Luk <jerryluk@gmail.com>
2
+
3
+ Permission is hereby granted, free of charge, to any person
4
+ obtaining a copy of this software and associated documentation
5
+ files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use,
7
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the
9
+ Software is furnished to do so, subject to the following
10
+ conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
data/README ADDED
@@ -0,0 +1,25 @@
1
+ GData JRuby Client
2
+ =====================
3
+ The GData JRuby Client allows you to easily access data through Google Data APIs. It uses the GData Java Client Library from Google.
4
+
5
+ See more at http://code.google.com/apis/gdata/docs/client-libraries.html
6
+ The jar files are based on gdata-java-client v1.40.0
7
+
8
+ GData JRuby Client is released under MIT License and GData Java Client Library is released under the Apache License 2.0.
9
+
10
+ Running the test cases
11
+ ========================
12
+ To run the test case, please create 'google_key.rb' and put it inside the 'spec' folder with something similar to the following:
13
+
14
+ # Use OAuth
15
+ CONSUMER_KEY = "yourdomain.com"
16
+ CONSUMER_SECRET = "consumer_secret_from_google"
17
+ TOKEN = "oauth_access_token"
18
+ TOKEN_SECRET = "oauth_access_token_secret"
19
+
20
+ # Use AuthSubToken
21
+ SESSION_TOKEN = "auth_sub_token"
22
+
23
+ Usage
24
+ =======
25
+ TBD
data/lib/base.rb ADDED
@@ -0,0 +1,16 @@
1
+ Dir.glob("#{File.dirname(__FILE__)}/gdata/java/deps/*.jar").each do |j|
2
+ require j
3
+ end
4
+
5
+ Dir.glob("#{File.dirname(__FILE__)}/gdata/java/lib/*.jar").each do |j|
6
+ require j
7
+ end
8
+
9
+ module GData
10
+ include_package 'com.google.gdata.data'
11
+ include_package 'com.google.gdata.data.acl'
12
+ include_package 'com.google.gdata.data.batch'
13
+ include_package 'com.google.gdata.util'
14
+ include_package 'com.google.gdata.client'
15
+ include_package 'com.google.gdata.client.authn.oauth'
16
+ end
data/lib/base_entry.rb ADDED
@@ -0,0 +1,20 @@
1
+ class Java::ComGoogleGdataData::BaseEntry
2
+ include GoogleHelpers
3
+
4
+ alias_method :orig_initialize, :initialize
5
+
6
+ def initialize(options=nil)
7
+ if options.is_a? Hash
8
+ orig_initialize()
9
+ update_attributes(options)
10
+ elsif options.nil?
11
+ orig_initialize()
12
+ else
13
+ orig_initialize
14
+ end
15
+ end
16
+
17
+ def id
18
+ get_id
19
+ end
20
+ end
@@ -0,0 +1,3 @@
1
+ class Java::ComGoogleGdataDataCalendar::CalendarEventEntry
2
+ alias_method :extended_properties, :extended_property
3
+ end
@@ -0,0 +1,19 @@
1
+ module GData
2
+ include_package 'com.google.gdata.data.calendar'
3
+ include_package 'com.google.gdata.client.calendar'
4
+ include_package 'com.google.gdata.data.extensions'
5
+ end
6
+
7
+ class Java::ComGoogleGdataClientCalendar::CalendarService
8
+ ALL_CALENDAR_URL = 'http://www.google.com/calendar/feeds/default/allcalendars/full'
9
+ OWN_CALENDAR_URL = 'http://www.google.com/calendar/feeds/default/owncalendars/full'
10
+ DEFAULT_CALENDAR_URI = 'http://www.google.com/calendar/feeds/default/private/full'
11
+
12
+ def find_feed(options)
13
+ super(options.merge({:class => GData::CalendarFeed}))
14
+ end
15
+
16
+ def find_entry(options)
17
+ super(options.merge({:class => GData::CalendarEntry}))
18
+ end
19
+ end
@@ -0,0 +1,17 @@
1
+ module GData
2
+ include_package 'com.google.gdata.data.contacts'
3
+ include_package 'com.google.gdata.client.contacts'
4
+ include_package 'com.google.gdata.data.extensions'
5
+ end
6
+
7
+ class Java::ComGoogleGdataClientContacts::ContactsService
8
+ DEFAULT_CONTACTS_URI = 'http://www.google.com/m8/feeds/contacts/default/full'
9
+
10
+ def find_feed(options)
11
+ super(options.merge({:class => GData::ContactFeed}))
12
+ end
13
+
14
+ def find_entry(options)
15
+ super(options.merge({:class => GData::ContactEntry}))
16
+ end
17
+ end
data/lib/email.rb ADDED
@@ -0,0 +1,16 @@
1
+ class Java::ComGoogleGdataDataExtensions::Email
2
+ include GoogleHelpers
3
+
4
+ alias_method :orig_initialize, :initialize
5
+
6
+ def initialize(options=nil)
7
+ if options.is_a? Hash
8
+ orig_initialize()
9
+ update_attributes(options)
10
+ elsif options.nil?
11
+ orig_initialize()
12
+ else
13
+ orig_initialize
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ class Java::ComGoogleGdataDataExtensions::ExtendedProperty
2
+ include GoogleHelpers
3
+
4
+ alias_method :orig_initialize, :initialize
5
+
6
+ def initialize(options=nil)
7
+ if options.is_a? Hash
8
+ orig_initialize()
9
+ update_attributes(options)
10
+ else
11
+ orig_initialize()
12
+ end
13
+ end
14
+ end
data/lib/gdata/COPYING ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
@@ -0,0 +1,448 @@
1
+ Google Data API - Release Notes
2
+
3
+ Notes for v1.40.0
4
+ -----------------
5
+ o Added site usefulness element in Google Sidewiki Data API. For additional
6
+ details see http://code.google.com/apis/sidewiki/changelog.html.
7
+
8
+ Notes for v1.39.0
9
+ -----------------
10
+ o Added support for Google Project Hosting Data API.
11
+
12
+ Notes for v1.38.0
13
+ -----------------
14
+ Sep 24, 2009
15
+ o Added support for Google Sites Data API.
16
+
17
+ Notes for v1.37.0
18
+ -----------------
19
+ Sep 23, 2009
20
+ o Added support for Google Sidewiki Data API
21
+ (http://code.google.com/apis/sidewiki).
22
+
23
+ Notes for v1.36.0
24
+ -----------------
25
+ Aug 25, 2009
26
+ o Added support for version 3 of Documents List Data API. This update
27
+ includes support for PDF uploads, folder sharing, domain and group
28
+ level ACLs, and document revision history.
29
+
30
+ Notes for v1.35.1
31
+ -----------------
32
+ Aug 8, 2009
33
+ o Expanded Google Maps Data API sample code and minor bug fixes.
34
+
35
+ Notes for v1.35.0
36
+ -----------------
37
+ Jul 22, 2009
38
+ o Updated Photos Data API to use Version 2 of Google Data Protocol.
39
+ o Removed com.google.gdata.util.common.annotations package in favor of
40
+ com.google.common.annotations available in google-collections library.
41
+ o Fixed bug java.lang.UnsupportedClassVersionError in version 1.34.
42
+
43
+ Notes for v1.34.0
44
+ -----------------
45
+ Jun 24, 2009
46
+ o Updated YouTube API data model classes.
47
+ o Fixed encoding issue with atom content in a multipart/related body.
48
+
49
+ Notes for v1.33.0
50
+ -----------------
51
+ Jun 8, 2009
52
+ o Update Google Contacts Data API to support version 3 of Contacts API.
53
+ Version 3.0 brings greatly expanded data schema, including support for
54
+ structured name and postal address.
55
+ o Added support for generic group attributes in Google Base Data API.
56
+ o Updated OAuth implementation to support changes related to OAuth 1.0a
57
+ specification.
58
+
59
+ Notes for v1.32.1
60
+ -----------------
61
+ May 27, 2009
62
+ o Added support for Table and Record feeds in Google Spreadsheets Data API.
63
+
64
+ Notes for v1.32.0
65
+ -----------------
66
+ May 20, 2009
67
+ o Added support for Google Maps Data API.
68
+
69
+ Notes for v1.31.1
70
+ -----------------
71
+ Apr 22, 2009
72
+ o Fixed bug in com.google.gdata.util.net.UriEncoder which causes infinite
73
+ when run in JDK 1.5 in MacOS because of a JDK bug.
74
+
75
+ Notes for v1.31.0
76
+ -----------------
77
+ Apr 21, 2009
78
+ o Added support for Analytics Google Data API.
79
+ o Updated Books API, Docs API and OAuth samples code.
80
+ o Updated Apps Groups API to use https instead of http.
81
+ o Fixed non-blocking bugs related to comptability with Google Java App Engine.
82
+
83
+ Notes for v1.30.0
84
+ -----------------
85
+ Feb 11, 2009
86
+ o Updated ant build configuration to reduce build time by ~60%. Thanks to
87
+ "mchenryc" for this contribution. See
88
+ http://code.google.com/p/gdata-java-client/issues/detail?id=82 for details.
89
+ o Added support for ChannelFeed and UserEventFeed in YouTube Data API.
90
+ o Fixed batch support issue in YouTube Data API Feed classes.
91
+ o Fixed bug relaed to GoogleService#delete fails in case of redirection in
92
+ GData Protocol version 2. See
93
+ http://code.google.com/p/gdata-java-client/issues/detail?id=82 for details.
94
+
95
+ Notes for v1.29.0
96
+ -----------------
97
+ Jan 9, 2009
98
+ o Added support for AppsForYourDomain Groups API.
99
+
100
+ Notes for v1.28.0
101
+ -----------------
102
+ Dec 17, 2008
103
+ o Fixed bug in com.google.gdata.util.common.base.CharMatcher which shows up
104
+ only when executing in eclipse with JDK 1.5.
105
+
106
+ Notes for v1.27.0
107
+ -----------------
108
+ Dec 10, 2008
109
+ o Updated Contacts, Webmaster Tools Google Data APIs to use Version 2 of
110
+ Google Data Protocol. With this
111
+ change all requests from the above mentioned APIs will send requests with
112
+ the "GData-Version" http header set to "2.0". If you need to request older
113
+ versions of the feed, you can do so by calling "{Property}Service#setProtocolVersion".
114
+ o Contacts Version 2 API has few breaking changes. For details refer to
115
+ Contacts API version 2 migration guide at
116
+ http://code.google.com/apis/contacts/docs/2.0/migration_guide.html
117
+ o Webmaster Tools Version 2 API does not contain any new features. But it
118
+ inherits all of the GData Protocol Version 2 core capabilities including
119
+ Etags and user of new opensearch namespace.
120
+ o Added new data model classes for Attendee Feed and Access Control Entry in
121
+ Calendar Data API.
122
+
123
+ Notes for v1.26.0
124
+ -----------------
125
+ Nov 20, 2008
126
+ o Fixed bug related to failure to load com.google.gdata.util.common.xml.XmlWriter
127
+ when executing in eclipse with JDK 1.5.
128
+
129
+ Notes for v1.25.0
130
+ -----------------
131
+ Nov 13, 2008
132
+ o Updated Google Base, Blogger, Calendar, Code Search, Document List, Finance, Health
133
+ and Spreadsheet Data APIs to use version 2 of Google Data Protocol. With this
134
+ change all requests from the above mentioned APIs will send requests with
135
+ the "GData-Version" http header set to "2.0". If you need to request older
136
+ versions of the feed, you can do so by calling "{Property}Service#setProtocolVersion".
137
+ o The Version 2 protocol for above APIs does not contain any new features
138
+ specific to that API. But they inherit all of the GData Protocol Version 2
139
+ core capabilities including Etags, use of new opensearch namespace.
140
+
141
+ Notes for v1.24.0
142
+ -----------------
143
+ Oct 20, 2008
144
+ o Added support for version 2 of Google Data API. API versioning is
145
+ rolled-out in phases and currently limited documentation about API
146
+ versioning is available at
147
+ http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#API_Versioning.
148
+ As of this release only YouTube Data API supports version 2.
149
+ Version 2 provides significant feature enhancements including:
150
+ 1. Added Support for caching through http ETag headers. The implementation is
151
+ compatible with specification in RFC 2616 with support for If-Match,
152
+ If-None-Match, If-Modified-Since headers. Other conditional headers are
153
+ not supported.
154
+ 2. Updated OpenSearch namespace from http://a9.com/-/spec/opensearchrss/1.0/
155
+ to http://a9.com/-/spec/opensearch/1.1/.
156
+ 3. Introduced "GData-Version" header to indicate requested protocol
157
+ version. The GData-Version header value is of format
158
+ "<major_version>.<minor_version>". Possible values as of this release
159
+ are "1.0" and "2.0". The version information can also be specified
160
+ using "v=2.0" query parameter.
161
+ All version 2 enabled Google Data API Services will continue to support
162
+ version 1 of the protocol. If both "GData-Version" header and "v" query
163
+ parameter are not specified in the request, the server defaults to
164
+ version 1.0.
165
+ o Updated com.google.gdata.client.youtube.YouTubeService class to use
166
+ version 2 of the YouTube Data API as default version. Refer to YouTube API
167
+ developer guide at
168
+ http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html for
169
+ details on version 2 API. Refer to YouTube Data API Migration Guide at
170
+ http://code.google.com/apis/youtube/2.0/migration.html for details on
171
+ breaking changes from version 1 to version 2, and details on how to migrate
172
+ your code to work with version 2 of the YouTube Data API.
173
+ NOTE: There are breaking API changes between version 1 and version 2.
174
+ Though it is not required to upgrade to version 2.0 immediately, it is
175
+ highly recommended to upgrade version 2.0. Older versions of YouTube Data
176
+ API libraries will continue to work until version 1.0 is deprecated.
177
+
178
+ Notes for v1.23.0
179
+ -----------------
180
+ Oct 2, 2008
181
+ o Added samples for Apps API interface to update gmail settings.
182
+
183
+ Notes for v1.22.0
184
+ -----------------
185
+ Sep 22, 2008
186
+ o Added support for Book Search Data API.
187
+ o Data model updates for Blogger Data API, Youtube Data API.
188
+
189
+ Notes for v1.21.0
190
+ -----------------
191
+ Sep 9, 2008
192
+ o Added support for OAuth authentication with options to sign requests
193
+ using RSA-SHA1 or HMAC-SHA1. See OAuth sample included in this package
194
+ for usage details.
195
+ o Updated PicasaWeb Album API and YouTube API data model classes.
196
+ o Added Atom threading extensions (RFC 4685) support in Blogger API.
197
+ o Fixed a bug related to retries related to session expiry.
198
+ o Support for chunking related to media uploads for large video files.
199
+
200
+ Notes for v1.20.0
201
+ -----------------
202
+ Jun 24, 2008
203
+ o Added support for Finance GData API. For details refer to
204
+ http://code.google.com/apis/finance/.
205
+
206
+ Notes for v1.19.0
207
+ -----------------
208
+ Jun 19, 2008
209
+ o Added support for Webmaster Tools API. For details refer to
210
+ http://code.google.com/apis/webmastertools/.
211
+
212
+ Notes for v1.18.0
213
+ -----------------
214
+ May 29, 2008
215
+ o Added support to handle GData Protocol Version 2. This provides capability
216
+ for the APIs to be fully compliant with Atom Publishing Protocol
217
+ (http://bitworking.org/projects/atom/rfc5023.html). This introduces a new
218
+ HTTP request header "GData-Version" which indicates whether a
219
+ request/response is v1 or v2. Not all services are v2 compatible yet.
220
+ Only Blogger API is v2 compatible as of this release. By default all requests
221
+ will use GData Protocol Version 1.
222
+ o Added support to handle ETags and if-match, if-none-match,
223
+ if-modified-since conditional headers as defined in
224
+ http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19. This is
225
+ applicable only for GData Protocol Version 2.
226
+ o Added several new features in Contacts API
227
+ o Added support to group contacts.
228
+ o Added support to access/update contact photos.
229
+ o Added ability to append custom contact fields.
230
+ For details refer to http://code.google.com/apis/contacts/.
231
+
232
+ Notes for v1.17.0
233
+ -----------------
234
+ May 20, 2008
235
+ o Added support for Google Health GData API. This provides minimal interface
236
+ to interact with Google Health Service. This API does not include data
237
+ model classes for CCR health records.
238
+ o Added new error types in Google Apps API.
239
+
240
+ Notes for v1.16.4
241
+ -----------------
242
+ Apr 19, 2008
243
+ o Fixed compiled jars to be compatible with Java 5.
244
+
245
+ Notes for v1.16.3
246
+ -----------------
247
+ Apr 03, 2008
248
+ o Added support to enable Authentication to Proxy Service for hosted
249
+ Google Apps. See AuthSub for Web Application documentation for details
250
+ http://code.google.com/apis/accounts/docs/AuthForWebApps.html.
251
+ o Added support for RFC 822 text message encoding in Email Migration API.
252
+ o Fixed issue related to handling YouTube video entries with empty
253
+ description.
254
+
255
+ Notes for v1.16.2
256
+ -----------------
257
+ Mar 12, 2008
258
+ o Added write support including video upload feature in YouTube API.
259
+
260
+ Notes for v1.16.1
261
+ -----------------
262
+ Mar 11, 2008
263
+ o Fixed bug related to YouTube video feed parsing error.
264
+
265
+ Notes for v1.16.0
266
+ -----------------
267
+ Mar 05, 2008
268
+ o Added Java client support for Google Contacts API.
269
+ o Samples are packaged separately from source code. With this change, there
270
+ will be two packages, gdata-src.java.zip which contains the API source
271
+ and gdata-samples.java.zip which contains samples and precompiled lib.
272
+
273
+ Notes for v1.15.2
274
+ -----------------
275
+ Dec 27, 2007
276
+ o Added support to upload image files using Document List Feed Data API.
277
+
278
+ Notes for v1.15.1
279
+ -----------------
280
+ Dec 6, 2007
281
+ o Added support for media feed in Google Base data API. With the media feed
282
+ support you can manage binary attachments to your Google Base items. With
283
+ this change you will require Java Mail and Java Activation Framework to
284
+ use Google Base data API.
285
+
286
+ Notes for v1.15.0
287
+ -----------------
288
+ Nov 15, 2007
289
+ o Added Java client support for Google Apps Email Migration API.
290
+ o Removed GData API documentation from the release package. Online
291
+ documentation is available at http://code.google.com/apis/gdata.
292
+
293
+ Notes for v1.14.1
294
+ -----------------
295
+ Oct 02, 2007
296
+ o Added batch support for Event Feed in Calendar Data API.
297
+ o Added batch support for Cells Feed in Spreadsheet Data API.
298
+ o Added support to handle foreign markup constraints as specified in RFC4287
299
+ sec 6.3 and AtomPub section 6.2.
300
+ o Lowered visibility of log messages reporting on unrecognized foreign markup
301
+ in xml feeds from INFO level to FINE level.
302
+
303
+ Notes for v1.14.0
304
+ -----------------
305
+ Aug 28, 2007
306
+ o Added support for YouTube Data API.
307
+ o Refactored core GData code to remove dependency on
308
+ JavaMail, Java Activation Framework for non-media services.
309
+ With this change, only media dependent services such as,
310
+ Document List Data API, Picasa Web Album API and YouTube Data API require
311
+ JavaMail and Java Activation Framework.
312
+ o Simplified ant build configuration into multiple files. This may require
313
+ updates to your IDE settings to point to new ant targets. For the list of
314
+ available build targets refer to java/build.xml ant build file.
315
+
316
+ Notes for v1.13.0
317
+ -----------------
318
+ July 30, 2007
319
+ o Added support for Google Documents List Data API.
320
+ o Added support for Calendar Gadgets in Calendar Data API.
321
+ o Added samples for interacting with read/write calendar feeds in
322
+ Calendar Data API
323
+ o Deprecated Geo format gd:geoPt from data model.
324
+
325
+ Notes for v1.12.0
326
+ -----------------
327
+ June 21, 2007
328
+ o Added support for standard Geo formats including GeoRSS, W3C Semantic Web IG
329
+ and GML format. The use of gd:geoPt is discouraged.
330
+ o Updated GData Java client library versioning to follow the standard format
331
+ "<major_release>.<minor_release>.<patch_release>". In this release the
332
+ version number changed from "1.0.11" to "1.12.0" to reflect the updated
333
+ versioning scheme.
334
+
335
+ Notes for v1.0.11
336
+ -----------------
337
+ May 15, 2007
338
+ o Added event publisher mashup sample that demonstrates how to retrieve and
339
+ publish structured data from one google service to another google service.
340
+ This sample retrieves list of events stored in a Google Spreadsheet and
341
+ publish those events to Google Calendar and Google Base.
342
+
343
+ Notes for v1.0.10
344
+ -----------------
345
+ May 1, 2007
346
+ o Added Java client support and extenstions for Google Calendar
347
+ access control lists (ACLs).
348
+ o Added Blogger GData API sample.
349
+ o Changed inheritance hierarchy for CalendarEventFeed. As a side effect,
350
+ getEntries() method for Calendar event feed will return list of
351
+ objects of type CalendarEventEntry instead of EventEntry.
352
+ o Changed participant types for CalendarEventEntry. As a side effect,
353
+ getParticipants() method for Calendar event entry will return list of
354
+ objects of type EventWho instead of Who.
355
+
356
+ Notes for v1.0.9
357
+ ----------------
358
+ March 21, 2007
359
+ o Added Java client support and extensions for GData Picasa Web Album API.
360
+ o Added Java client support and extensions for GData Apps For Your Domain API.
361
+ o Added "method" attribute to <gd:reminder>. The "method" attribute can be
362
+ used to specify notification method for Calendar event related reminders.
363
+ The "method" value can be one of ALERT, EMAIL, SMS, ALL or NONE.
364
+ o Introduced dependency on Sun's JavaMail API. To use client package,
365
+ download and install activation.jar, mail.jar libraries from Sun's JavaMail
366
+ API package version 1.4 or later.
367
+
368
+ Notes for v1.0.8
369
+ ----------------
370
+ February 22, 2007
371
+ o Added Java client support and extensions for GData Google Base API.
372
+ o Added Java client support and extensions for GData Notebook API.
373
+
374
+ Notes for v1.0.7
375
+ ----------------
376
+ February 06, 2007
377
+ o Added "return-empty" query parameter to the Spreadsheet Cells feed.
378
+ When present, empty cells are included in query results.
379
+ o Spreadsheets data API: Modified the Spreadsheet Cells feed to allow
380
+ Update (ie. HTTP PUT) on all cells, even empty ones, to change their
381
+ contents. The use of INSERT on cells is deprecated. DELETE is
382
+ synonymous with updating the gs:cell@inputValue to the empty string.
383
+ o Fixed the issue of Calendar API sending never-ending series
384
+ of sharding redirects.
385
+ o Modified default configuration of the METHOD_OVERRIDE_PROPERTY
386
+ system property to false. The Update and Delete methods now use
387
+ HTTP PUT and DELETE, respectively. To continue with old behavior:
388
+ Using Java command line argument:
389
+ -Dcom.google.gdata.UseMethodOverride=true
390
+ In client code:
391
+ System.setProperty(HttpGDataRequest.METHOD_OVERRIDE_PROPERTY, "true");
392
+
393
+ Notes for v1.0.6
394
+ ----------------
395
+ November 30, 2006
396
+ o Added Java client support and extensions for GData Spreadsheets
397
+ API.
398
+
399
+ Notes for v1.0.5
400
+ ----------------
401
+ October 05, 2006
402
+ o Added Java client support and extensions for GData CodeSearch
403
+ API.
404
+
405
+ Notes for v1.0.4
406
+ ----------------
407
+ September 27, 2006
408
+ o Support Calendar events with web content of different MIME
409
+ types.
410
+ o Support two new data model classes, ValueConstruct and
411
+ EnumConstruct in the Java client library.
412
+ o Change to introspection document collection representation
413
+ (Collection.java) in response to changes in APP draft-10. The
414
+ title information is no longer contained in an attribute of
415
+ <app:collection> but is instead a nested <atom:title> element.
416
+
417
+ Notes for v1.0.3
418
+ ----------------
419
+ August 29, 2006
420
+ o Added Batch support in GData library for the Google Base API.
421
+ o Added introspection support to the client library. This
422
+ feature will be supported in the future.
423
+ o Added ability for calendar API to send notifications to users
424
+ when events are added.
425
+ o Added the 'web content' field to Calendar feeds which accepts
426
+ MIME types.
427
+ o Fixed 'pub:draft'. It was a part of an incorrect namespace and
428
+ has been moved to the Atom Publishing Control namespace.
429
+
430
+ Notes for v1.0.2
431
+ ----------------
432
+ July 27, 2006
433
+ o Included the AuthSub utility classes
434
+ o Included samples for the Calendar client and AuthSub
435
+
436
+ Notes for v1.0.1
437
+ ----------------
438
+ April 28, 2006
439
+ o Introduce System property "com.google.gdata.UseMethodOverride"
440
+ to toggle method override functionality. Currently defaults
441
+ to use the method override. (The method override is used to
442
+ workaround proxies that do not handle the HTTP methods PUT and
443
+ DELETE properly)
444
+
445
+ Notes for v1.0.0
446
+ ----------------
447
+ April 19, 2006
448
+ o Initial release