gdata-jruby-client 0.7.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 (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