Google Apps Login - Version 2.4.3

Version Description

New hooks for profile photos. Updated Google client library.

Download this release

Release Info

Developer danlester
Plugin Icon 128x128 Google Apps Login
Version 2.4.3
Comparing to
See all releases

Code changes from version 2.3.1 to 2.4.3

core/Google/Auth/AssertionCredentials.php CHANGED
@@ -118,9 +118,14 @@ class GoogleGAL_Auth_AssertionCredentials
118
  {
119
  $header = array('typ' => 'JWT', 'alg' => 'RS256');
120
 
 
 
 
 
 
121
  $segments = array(
122
  GoogleGAL_Utils::urlSafeB64Encode(json_encode($header)),
123
- GoogleGAL_Utils::urlSafeB64Encode(json_encode($payload))
124
  );
125
 
126
  $signingInput = implode('.', $segments);
118
  {
119
  $header = array('typ' => 'JWT', 'alg' => 'RS256');
120
 
121
+ $payload = json_encode($payload);
122
+ // Handle some overzealous escaping in PHP json that seemed to cause some errors
123
+ // with claimsets.
124
+ $payload = str_replace('\/', '/', $payload);
125
+
126
  $segments = array(
127
  GoogleGAL_Utils::urlSafeB64Encode(json_encode($header)),
128
+ GoogleGAL_Utils::urlSafeB64Encode($payload)
129
  );
130
 
131
  $signingInput = implode('.', $segments);
core/Google/Auth/OAuth2.php CHANGED
@@ -370,7 +370,7 @@ class GoogleGAL_Auth_OAuth2 extends GoogleGAL_Auth_Abstract
370
  */
371
  public function isAccessTokenExpired()
372
  {
373
- if (!$this->token) {
374
  return true;
375
  }
376
 
370
  */
371
  public function isAccessTokenExpired()
372
  {
373
+ if (!$this->token || !isset($this->token['created'])) {
374
  return true;
375
  }
376
 
core/Google/CONTRIBUTING.md DELETED
@@ -1,22 +0,0 @@
1
- # How to become a contributor and submit your own code
2
-
3
- ## Contributor License Agreements
4
-
5
- We'd love to accept your code patches! However, before we can take them, we have to jump a couple of legal hurdles.
6
-
7
- Please fill out either the individual or corporate Contributor License Agreement (CLA).
8
-
9
- * If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an [individual CLA](http://code.google.com/legal/individual-cla-v1.0.html).
10
- * If you work for a company that wants to allow you to contribute your work to this client library, then you'll need to sign a[corporate CLA](http://code.google.com/legal/corporate-cla-v1.0.html).
11
-
12
- Follow either of the two links above to access the appropriate CLA and instructions for how to sign and return it. Once we receive it, we'll add you to the official list of contributors and be able to accept your patches.
13
-
14
- ## Submitting Patches
15
-
16
- 1. Fork the PHP client library on GitHub
17
- 1. Decide which code you want to submit. A submission should be a set of changes that addresses one issue in the issue tracker. Please file one change per issue, and address one issue per change. If you want to make a change that doesn't have a corresponding issue in the issue tracker, please file a new ticket!
18
- 1. Ensure that your code adheres to standard PHP conventions, as used in the rest of the library.
19
- 1. Ensure that there are unit tests for your code.
20
- 1. Sign a Contributor License Agreement (see above).
21
- 1. Submit a pull request with your patch on Github.
22
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Google/Cache/File.php CHANGED
@@ -48,7 +48,7 @@ class GoogleGAL_Cache_File extends GoogleGAL_Cache_Abstract
48
 
49
  if ($expiration) {
50
  $mtime = filemtime($storageFile);
51
- if (($now - $mtime) >= $expiration) {
52
  $this->delete($key);
53
  return false;
54
  }
48
 
49
  if ($expiration) {
50
  $mtime = filemtime($storageFile);
51
+ if ((time() - $mtime) >= $expiration) {
52
  $this->delete($key);
53
  return false;
54
  }
core/Google/Client.php CHANGED
@@ -102,10 +102,10 @@ class GoogleGAL_Client
102
  }
103
 
104
  if ($config->getIoClass() == GoogleGAL_Config::USE_AUTO_IO_SELECTION) {
105
- if (function_exists('curl_version')) {
106
- $config->setIoClass("GoogleGAL_Io_Curl");
107
  } else {
108
- $config->setIoClass("GoogleGAL_Io_Stream");
109
  }
110
  }
111
 
@@ -250,7 +250,7 @@ class GoogleGAL_Client
250
  // The response is json encoded, so could be the string null.
251
  // It is arguable whether this check should be here or lower
252
  // in the library.
253
- return (null == $token || 'null' == $token) ? null : $token;
254
  }
255
 
256
  /**
102
  }
103
 
104
  if ($config->getIoClass() == GoogleGAL_Config::USE_AUTO_IO_SELECTION) {
105
+ if (function_exists('curl_version') && function_exists('curl_exec')) {
106
+ $config->setIoClass("GoogleGAL_IO_Curl");
107
  } else {
108
+ $config->setIoClass("GoogleGAL_IO_Stream");
109
  }
110
  }
111
 
250
  // The response is json encoded, so could be the string null.
251
  // It is arguable whether this check should be here or lower
252
  // in the library.
253
+ return (null == $token || 'null' == $token || '[]' == $token) ? null : $token;
254
  }
255
 
256
  /**
core/Google/Collection.php CHANGED
@@ -13,7 +13,7 @@ class GoogleGAL_Collection extends GoogleGAL_Model implements Iterator, Countabl
13
 
14
  public function rewind()
15
  {
16
- if (is_array($this->modelData[$this->collection_key])) {
17
  reset($this->modelData[$this->collection_key]);
18
  }
19
  }
@@ -28,7 +28,7 @@ class GoogleGAL_Collection extends GoogleGAL_Model implements Iterator, Countabl
28
 
29
  public function key()
30
  {
31
- if (is_array($this->modelData[$this->collection_key])) {
32
  return key($this->modelData[$this->collection_key]);
33
  }
34
  }
13
 
14
  public function rewind()
15
  {
16
+ if (isset($this->modelData[$this->collection_key]) && is_array($this->modelData[$this->collection_key])) {
17
  reset($this->modelData[$this->collection_key]);
18
  }
19
  }
28
 
29
  public function key()
30
  {
31
+ if (isset($this->modelData[$this->collection_key]) && is_array($this->modelData[$this->collection_key])) {
32
  return key($this->modelData[$this->collection_key]);
33
  }
34
  }
core/Google/IO/Abstract.php CHANGED
@@ -69,7 +69,12 @@ abstract class GoogleGAL_IO_Abstract
69
  abstract public function getTimeout();
70
 
71
  /**
72
- * Determine whether "Connection Established" quirk is needed
 
 
 
 
 
73
  * @return boolean
74
  */
75
  abstract protected function needsQuirk();
@@ -244,10 +249,15 @@ abstract class GoogleGAL_IO_Abstract
244
  */
245
  public function parseHttpResponse($respData, $headerSize)
246
  {
247
- // only strip this header if the sub-class needs this quirk
248
- if ($this->needsQuirk() && stripos($respData, self::CONNECTION_ESTABLISHED) !== false) {
249
  $respData = str_ireplace(self::CONNECTION_ESTABLISHED, '', $respData);
250
- $headerSize -= strlen(self::CONNECTION_ESTABLISHED);
 
 
 
 
 
 
251
  }
252
 
253
  if ($headerSize) {
69
  abstract public function getTimeout();
70
 
71
  /**
72
+ * Test for the presence of a cURL header processing bug
73
+ *
74
+ * The cURL bug was present in versions prior to 7.30.0 and caused the header
75
+ * length to be miscalculated when a "Connection established" header added by
76
+ * some proxies was present.
77
+ *
78
  * @return boolean
79
  */
80
  abstract protected function needsQuirk();
249
  */
250
  public function parseHttpResponse($respData, $headerSize)
251
  {
252
+ if (stripos($respData, self::CONNECTION_ESTABLISHED) !== false) {
 
253
  $respData = str_ireplace(self::CONNECTION_ESTABLISHED, '', $respData);
254
+
255
+ // Subtract the proxy header size unless the cURL bug prior to 7.30.0
256
+ // is present which prevented the proxy header size from being taken into
257
+ // account.
258
+ if (!$this->needsQuirk()) {
259
+ $headerSize -= strlen(self::CONNECTION_ESTABLISHED);
260
+ }
261
  }
262
 
263
  if ($headerSize) {
core/Google/IO/Curl.php CHANGED
@@ -25,8 +25,8 @@ require_once 'Google/IO/Abstract.php';
25
 
26
  class GoogleGAL_IO_Curl extends GoogleGAL_IO_Abstract
27
  {
28
- // hex for version 7.31.0
29
- const NO_QUIRK_VERSION = 0x071F00;
30
 
31
  private $options = array();
32
  /**
@@ -54,6 +54,8 @@ class GoogleGAL_IO_Curl extends GoogleGAL_IO_Abstract
54
  curl_setopt($curl, CURLOPT_HTTPHEADER, $curlHeaders);
55
  }
56
 
 
 
57
  curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $request->getRequestMethod());
58
  curl_setopt($curl, CURLOPT_USERAGENT, $request->getUserAgent());
59
 
@@ -62,8 +64,6 @@ class GoogleGAL_IO_Curl extends GoogleGAL_IO_Abstract
62
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
63
  curl_setopt($curl, CURLOPT_HEADER, true);
64
 
65
- curl_setopt($curl, CURLOPT_URL, $request->getUrl());
66
-
67
  if ($request->canGzip()) {
68
  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
69
  }
@@ -82,9 +82,8 @@ class GoogleGAL_IO_Curl extends GoogleGAL_IO_Abstract
82
  }
83
  $headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
84
 
85
- $responseBody = substr($response, $headerSize);
86
- $responseHeaderString = substr($response, 0, $headerSize);
87
- $responseHeaders = $this->getHttpResponseHeaders($responseHeaderString);
88
  $responseCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
89
 
90
  return array($responseBody, $responseHeaders, $responseCode);
@@ -123,7 +122,10 @@ class GoogleGAL_IO_Curl extends GoogleGAL_IO_Abstract
123
  }
124
 
125
  /**
126
- * Determine whether "Connection Established" quirk is needed
 
 
 
127
  * @return boolean
128
  */
129
  protected function needsQuirk()
25
 
26
  class GoogleGAL_IO_Curl extends GoogleGAL_IO_Abstract
27
  {
28
+ // cURL hex representation of version 7.30.0
29
+ const NO_QUIRK_VERSION = 0x071E00;
30
 
31
  private $options = array();
32
  /**
54
  curl_setopt($curl, CURLOPT_HTTPHEADER, $curlHeaders);
55
  }
56
 
57
+ curl_setopt($curl, CURLOPT_URL, $request->getUrl());
58
+
59
  curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $request->getRequestMethod());
60
  curl_setopt($curl, CURLOPT_USERAGENT, $request->getUserAgent());
61
 
64
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
65
  curl_setopt($curl, CURLOPT_HEADER, true);
66
 
 
 
67
  if ($request->canGzip()) {
68
  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
69
  }
82
  }
83
  $headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
84
 
85
+ list($responseHeaders, $responseBody) = $this->parseHttpResponse($response, $headerSize);
86
+
 
87
  $responseCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
88
 
89
  return array($responseBody, $responseHeaders, $responseCode);
122
  }
123
 
124
  /**
125
+ * Test for the presence of a cURL header processing bug
126
+ *
127
+ * {@inheritDoc}
128
+ *
129
  * @return boolean
130
  */
131
  protected function needsQuirk()
core/Google/IO/Stream.php CHANGED
@@ -157,13 +157,15 @@ class GoogleGAL_IO_Stream extends GoogleGAL_IO_Abstract
157
  }
158
 
159
  /**
160
- * Determine whether "Connection Established" quirk is needed
 
 
 
161
  * @return boolean
162
  */
163
  protected function needsQuirk()
164
  {
165
- // Stream needs the special quirk
166
- return true;
167
  }
168
 
169
  protected function getHttpResponseCode($response_headers)
157
  }
158
 
159
  /**
160
+ * Test for the presence of a cURL header processing bug
161
+ *
162
+ * {@inheritDoc}
163
+ *
164
  * @return boolean
165
  */
166
  protected function needsQuirk()
167
  {
168
+ return false;
 
169
  }
170
 
171
  protected function getHttpResponseCode($response_headers)
core/Google/LICENSE DELETED
@@ -1,203 +0,0 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
-
5
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
-
7
- 1. Definitions.
8
-
9
- "License" shall mean the terms and conditions for use, reproduction,
10
- and distribution as defined by Sections 1 through 9 of this document.
11
-
12
- "Licensor" shall mean the copyright owner or entity authorized by
13
- the copyright owner that is granting the License.
14
-
15
- "Legal Entity" shall mean the union of the acting entity and all
16
- other entities that control, are controlled by, or are under common
17
- control with that entity. For the purposes of this definition,
18
- "control" means (i) the power, direct or indirect, to cause the
19
- direction or management of such entity, whether by contract or
20
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
- outstanding shares, or (iii) beneficial ownership of such entity.
22
-
23
- "You" (or "Your") shall mean an individual or Legal Entity
24
- exercising permissions granted by this License.
25
-
26
- "Source" form shall mean the preferred form for making modifications,
27
- including but not limited to software source code, documentation
28
- source, and configuration files.
29
-
30
- "Object" form shall mean any form resulting from mechanical
31
- transformation or translation of a Source form, including but
32
- not limited to compiled object code, generated documentation,
33
- and conversions to other media types.
34
-
35
- "Work" shall mean the work of authorship, whether in Source or
36
- Object form, made available under the License, as indicated by a
37
- copyright notice that is included in or attached to the work
38
- (an example is provided in the Appendix below).
39
-
40
- "Derivative Works" shall mean any work, whether in Source or Object
41
- form, that is based on (or derived from) the Work and for which the
42
- editorial revisions, annotations, elaborations, or other modifications
43
- represent, as a whole, an original work of authorship. For the purposes
44
- of this License, Derivative Works shall not include works that remain
45
- separable from, or merely link (or bind by name) to the interfaces of,
46
- the Work and Derivative Works thereof.
47
-
48
- "Contribution" shall mean any work of authorship, including
49
- the original version of the Work and any modifications or additions
50
- to that Work or Derivative Works thereof, that is intentionally
51
- submitted to Licensor for inclusion in the Work by the copyright owner
52
- or by an individual or Legal Entity authorized to submit on behalf of
53
- the copyright owner. For the purposes of this definition, "submitted"
54
- means any form of electronic, verbal, or written communication sent
55
- to the Licensor or its representatives, including but not limited to
56
- communication on electronic mailing lists, source code control systems,
57
- and issue tracking systems that are managed by, or on behalf of, the
58
- Licensor for the purpose of discussing and improving the Work, but
59
- excluding communication that is conspicuously marked or otherwise
60
- designated in writing by the copyright owner as "Not a Contribution."
61
-
62
- "Contributor" shall mean Licensor and any individual or Legal Entity
63
- on behalf of whom a Contribution has been received by Licensor and
64
- subsequently incorporated within the Work.
65
-
66
- 2. Grant of Copyright License. Subject to the terms and conditions of
67
- this License, each Contributor hereby grants to You a perpetual,
68
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
- copyright license to reproduce, prepare Derivative Works of,
70
- publicly display, publicly perform, sublicense, and distribute the
71
- Work and such Derivative Works in Source or Object form.
72
-
73
- 3. Grant of Patent License. Subject to the terms and conditions of
74
- this License, each Contributor hereby grants to You a perpetual,
75
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
- (except as stated in this section) patent license to make, have made,
77
- use, offer to sell, sell, import, and otherwise transfer the Work,
78
- where such license applies only to those patent claims licensable
79
- by such Contributor that are necessarily infringed by their
80
- Contribution(s) alone or by combination of their Contribution(s)
81
- with the Work to which such Contribution(s) was submitted. If You
82
- institute patent litigation against any entity (including a
83
- cross-claim or counterclaim in a lawsuit) alleging that the Work
84
- or a Contribution incorporated within the Work constitutes direct
85
- or contributory patent infringement, then any patent licenses
86
- granted to You under this License for that Work shall terminate
87
- as of the date such litigation is filed.
88
-
89
- 4. Redistribution. You may reproduce and distribute copies of the
90
- Work or Derivative Works thereof in any medium, with or without
91
- modifications, and in Source or Object form, provided that You
92
- meet the following conditions:
93
-
94
- (a) You must give any other recipients of the Work or
95
- Derivative Works a copy of this License; and
96
-
97
- (b) You must cause any modified files to carry prominent notices
98
- stating that You changed the files; and
99
-
100
- (c) You must retain, in the Source form of any Derivative Works
101
- that You distribute, all copyright, patent, trademark, and
102
- attribution notices from the Source form of the Work,
103
- excluding those notices that do not pertain to any part of
104
- the Derivative Works; and
105
-
106
- (d) If the Work includes a "NOTICE" text file as part of its
107
- distribution, then any Derivative Works that You distribute must
108
- include a readable copy of the attribution notices contained
109
- within such NOTICE file, excluding those notices that do not
110
- pertain to any part of the Derivative Works, in at least one
111
- of the following places: within a NOTICE text file distributed
112
- as part of the Derivative Works; within the Source form or
113
- documentation, if provided along with the Derivative Works; or,
114
- within a display generated by the Derivative Works, if and
115
- wherever such third-party notices normally appear. The contents
116
- of the NOTICE file are for informational purposes only and
117
- do not modify the License. You may add Your own attribution
118
- notices within Derivative Works that You distribute, alongside
119
- or as an addendum to the NOTICE text from the Work, provided
120
- that such additional attribution notices cannot be construed
121
- as modifying the License.
122
-
123
- You may add Your own copyright statement to Your modifications and
124
- may provide additional or different license terms and conditions
125
- for use, reproduction, or distribution of Your modifications, or
126
- for any such Derivative Works as a whole, provided Your use,
127
- reproduction, and distribution of the Work otherwise complies with
128
- the conditions stated in this License.
129
-
130
- 5. Submission of Contributions. Unless You explicitly state otherwise,
131
- any Contribution intentionally submitted for inclusion in the Work
132
- by You to the Licensor shall be under the terms and conditions of
133
- this License, without any additional terms or conditions.
134
- Notwithstanding the above, nothing herein shall supersede or modify
135
- the terms of any separate license agreement you may have executed
136
- with Licensor regarding such Contributions.
137
-
138
- 6. Trademarks. This License does not grant permission to use the trade
139
- names, trademarks, service marks, or product names of the Licensor,
140
- except as required for reasonable and customary use in describing the
141
- origin of the Work and reproducing the content of the NOTICE file.
142
-
143
- 7. Disclaimer of Warranty. Unless required by applicable law or
144
- agreed to in writing, Licensor provides the Work (and each
145
- Contributor provides its Contributions) on an "AS IS" BASIS,
146
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
- implied, including, without limitation, any warranties or conditions
148
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
- PARTICULAR PURPOSE. You are solely responsible for determining the
150
- appropriateness of using or redistributing the Work and assume any
151
- risks associated with Your exercise of permissions under this License.
152
-
153
- 8. Limitation of Liability. In no event and under no legal theory,
154
- whether in tort (including negligence), contract, or otherwise,
155
- unless required by applicable law (such as deliberate and grossly
156
- negligent acts) or agreed to in writing, shall any Contributor be
157
- liable to You for damages, including any direct, indirect, special,
158
- incidental, or consequential damages of any character arising as a
159
- result of this License or out of the use or inability to use the
160
- Work (including but not limited to damages for loss of goodwill,
161
- work stoppage, computer failure or malfunction, or any and all
162
- other commercial damages or losses), even if such Contributor
163
- has been advised of the possibility of such damages.
164
-
165
- 9. Accepting Warranty or Additional Liability. While redistributing
166
- the Work or Derivative Works thereof, You may choose to offer,
167
- and charge a fee for, acceptance of support, warranty, indemnity,
168
- or other liability obligations and/or rights consistent with this
169
- License. However, in accepting such obligations, You may act only
170
- on Your own behalf and on Your sole responsibility, not on behalf
171
- of any other Contributor, and only if You agree to indemnify,
172
- defend, and hold each Contributor harmless for any liability
173
- incurred by, or claims asserted against, such Contributor by reason
174
- of your accepting any such warranty or additional liability.
175
-
176
- END OF TERMS AND CONDITIONS
177
-
178
- APPENDIX: How to apply the Apache License to your work.
179
-
180
- To apply the Apache License to your work, attach the following
181
- boilerplate notice, with the fields enclosed by brackets "[]"
182
- replaced with your own identifying information. (Don't include
183
- the brackets!) The text should be enclosed in the appropriate
184
- comment syntax for the file format. We also recommend that a
185
- file or class name and description of purpose be included on the
186
- same "printed page" as the copyright notice for easier
187
- identification within third-party archives.
188
-
189
- Copyright [yyyy] [name of copyright owner]
190
-
191
- Licensed under the Apache License, Version 2.0 (the "License");
192
- you may not use this file except in compliance with the License.
193
- You may obtain a copy of the License at
194
-
195
- http://www.apache.org/licenses/LICENSE-2.0
196
-
197
- Unless required by applicable law or agreed to in writing, software
198
- distributed under the License is distributed on an "AS IS" BASIS,
199
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
- See the License for the specific language governing permissions and
201
- limitations under the License.
202
-
203
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Google/Model.php CHANGED
@@ -16,7 +16,7 @@
16
  */
17
 
18
  /**
19
- * This class defines attributes, valid values, and usage which is generated
20
  * from a given json schema.
21
  * http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5
22
  *
@@ -48,6 +48,9 @@ class GoogleGAL_Model implements ArrayAccess
48
  if (isset($this->$keyTypeName) && !isset($this->processed[$key])) {
49
  if (isset($this->modelData[$key])) {
50
  $val = $this->modelData[$key];
 
 
 
51
  } else {
52
  $val = null;
53
  }
16
  */
17
 
18
  /**
19
+ * This class defines attributes, valid values, and usage which is generated
20
  * from a given json schema.
21
  * http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5
22
  *
48
  if (isset($this->$keyTypeName) && !isset($this->processed[$key])) {
49
  if (isset($this->modelData[$key])) {
50
  $val = $this->modelData[$key];
51
+ } else if (isset($this->$keyDataType) &&
52
+ ($this->$keyDataType == 'array' || $this->$keyDataType == 'map')) {
53
+ $val = array();
54
  } else {
55
  $val = null;
56
  }
core/Google/README.md DELETED
@@ -1,59 +0,0 @@
1
- [![Build Status](https://travis-ci.org/google/google-api-php-client.svg)](https://travis-ci.org/google/google-api-php-client)
2
-
3
- # Google APIs Client Library for PHP #
4
-
5
- ## Description ##
6
- The Google API Client Library enables you to work with Google APIs such as Google+, Drive, or YouTube on your server.
7
-
8
- ## Requirements ##
9
- * [PHP 5.2.1 or higher](http://www.php.net/)
10
- * [PHP JSON extension](http://php.net/manual/en/book.json.php)
11
-
12
- ## Developer Documentation ##
13
- http://developers.google.com/api-client-library/php
14
-
15
- ## Basic Example ##
16
- See the examples/ directory for examples of the key client features.
17
- ```PHP
18
- <?php
19
- require_once 'Google/Client.php';
20
- require_once 'Google/Service/Books.php';
21
- $client = new GoogleGAL_Client();
22
- $client->setApplicationName("Client_Library_Examples");
23
- $client->setDeveloperKey("YOUR_APP_KEY");
24
- $service = new GoogleGAL_Service_Books($client);
25
- $optParams = array('filter' => 'free-ebooks');
26
- $results = $service->volumes->listVolumes('Henry David Thoreau', $optParams);
27
-
28
- foreach ($results as $item) {
29
- echo $item['volumeInfo']['title'], "<br /> \n";
30
- }
31
- ```
32
-
33
- ## Frequently Asked Questions ##
34
-
35
- ### What do I do if something isn't working? ###
36
-
37
- For support with the library the best place to ask is via the google-api-php-client tag on StackOverflow: http://stackoverflow.com/questions/tagged/google-api-php-client
38
-
39
- If there is a specific bug with the library, please file a issue in the Github issues tracker, including a (minimal) example of the failing code and any specific errors retrieved. Feature requests can also be filed, as long as they are core library requests, and not-API specific: for those, refer to the documentation for the individual APIs for the best place to file requests. Please try to provide a clear statement of the problem that the feature would address.
40
-
41
- ### How do I contribute? ###
42
-
43
- We accept contributions via Github Pull Requests, but all contributors need to be covered by the standard Google Contributor License Agreement. You can find links, and more instructions, in the documentation: https://developers.google.com/api-client-library/php/contribute
44
-
45
- ### Why do you still support 5.2? ###
46
-
47
- When we started working on the 1.0.0 branch we knew there were several fundamental issues to fix with the 0.6 releases of the library. At that time we looked at the usage of the library, and other related projects, and determined that there was still a large and active base of PHP 5.2 installs. You can see this in statistics such as the PHP versions chart in the WordPress stats: http://wordpress.org/about/stats/. We will keep looking at the types of usage we see, and try to take advantage of newer PHP features where possible.
48
-
49
- ### Why does GoogleGAL_..._Service have weird names? ###
50
-
51
- The _Service classes are generally automatically generated from the API discovery documents: https://developers.google.com/discovery/. Sometimes new features are added to APIs with unusual names, which can cause some unexpected or non-standard style naming in the PHP classes.
52
-
53
- ## Code Quality ##
54
-
55
- Copy the ruleset.xml in style/ into a new directory named GAPI/ in your
56
- /usr/share/php/PHP/CodeSniffer/Standards (or appropriate equivalent directory),
57
- and run code sniffs with:
58
-
59
- phpcs --standard=GAPI src/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
core/Google/Service/AdExchangeBuyer.php CHANGED
@@ -137,6 +137,16 @@ class GoogleGAL_Service_AdExchangeBuyer extends GoogleGAL_Service
137
  'location' => 'query',
138
  'type' => 'integer',
139
  ),
 
 
 
 
 
 
 
 
 
 
140
  ),
141
  ),
142
  )
@@ -332,6 +342,10 @@ class GoogleGAL_Service_AdExchangeBuyer_Creatives_Resource extends GoogleGAL_Ser
332
  * parameter to the value of "nextPageToken" from the previous response. Optional.
333
  * @opt_param string maxResults
334
  * Maximum number of entries returned on one result page. If not set, the default is 100. Optional.
 
 
 
 
335
  * @return GoogleGAL_Service_AdExchangeBuyer_CreativesList
336
  */
337
  public function listCreatives($optParams = array())
137
  'location' => 'query',
138
  'type' => 'integer',
139
  ),
140
+ 'buyerCreativeId' => array(
141
+ 'location' => 'query',
142
+ 'type' => 'string',
143
+ 'repeated' => true,
144
+ ),
145
+ 'accountId' => array(
146
+ 'location' => 'query',
147
+ 'type' => 'integer',
148
+ 'repeated' => true,
149
+ ),
150
  ),
151
  ),
152
  )
342
  * parameter to the value of "nextPageToken" from the previous response. Optional.
343
  * @opt_param string maxResults
344
  * Maximum number of entries returned on one result page. If not set, the default is 100. Optional.
345
+ * @opt_param string buyerCreativeId
346
+ * When specified, only creatives for the given buyer creative ids are returned.
347
+ * @opt_param int accountId
348
+ * When specified, only creatives for the given account ids are returned.
349
  * @return GoogleGAL_Service_AdExchangeBuyer_CreativesList
350
  */
351
  public function listCreatives($optParams = array())
core/Google/Service/Analytics.php CHANGED
@@ -1388,8 +1388,8 @@ class GoogleGAL_Service_Analytics_DataGa_Resource extends GoogleGAL_Service_Reso
1388
  * MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is
1389
  * yesterday.
1390
  * @param string $metrics
1391
- * A comma-separated list of Analytics metrics. E.g., 'ga:visits,ga:pageviews'. At least one metric
1392
- * must be specified.
1393
  * @param array $optParams Optional parameters.
1394
  *
1395
  * @opt_param int max-results
@@ -1403,7 +1403,7 @@ class GoogleGAL_Service_Analytics_DataGa_Resource extends GoogleGAL_Service_Reso
1403
  * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along
1404
  * with the max-results parameter.
1405
  * @opt_param string segment
1406
- * An Analytics advanced segment to be applied to data.
1407
  * @opt_param string samplingLevel
1408
  * The desired sampling level.
1409
  * @opt_param string filters
@@ -1488,8 +1488,8 @@ class GoogleGAL_Service_Analytics_DataRealtime_Resource extends GoogleGAL_Servic
1488
  * Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is
1489
  * the Analytics view (profile) ID.
1490
  * @param string $metrics
1491
- * A comma-separated list of real time metrics. E.g., 'rt:activeVisitors'. At least one metric must
1492
- * be specified.
1493
  * @param array $optParams Optional parameters.
1494
  *
1495
  * @opt_param int max-results
@@ -2289,16 +2289,16 @@ class GoogleGAL_Service_Analytics_ManagementSegments_Resource extends GoogleGAL_
2289
  {
2290
 
2291
  /**
2292
- * Lists advanced segments to which the user has access.
2293
  * (segments.listManagementSegments)
2294
  *
2295
  * @param array $optParams Optional parameters.
2296
  *
2297
  * @opt_param int max-results
2298
- * The maximum number of advanced segments to include in this response.
2299
  * @opt_param int start-index
2300
- * An index of the first advanced segment to retrieve. Use this parameter as a pagination mechanism
2301
- * along with the max-results parameter.
2302
  * @return GoogleGAL_Service_Analytics_Segments
2303
  */
2304
  public function listManagementSegments($optParams = array())
1388
  * MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is
1389
  * yesterday.
1390
  * @param string $metrics
1391
+ * A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one
1392
+ * metric must be specified.
1393
  * @param array $optParams Optional parameters.
1394
  *
1395
  * @opt_param int max-results
1403
  * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along
1404
  * with the max-results parameter.
1405
  * @opt_param string segment
1406
+ * An Analytics segment to be applied to data.
1407
  * @opt_param string samplingLevel
1408
  * The desired sampling level.
1409
  * @opt_param string filters
1488
  * Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is
1489
  * the Analytics view (profile) ID.
1490
  * @param string $metrics
1491
+ * A comma-separated list of real time metrics. E.g., 'rt:activeUsers'. At least one metric must be
1492
+ * specified.
1493
  * @param array $optParams Optional parameters.
1494
  *
1495
  * @opt_param int max-results
2289
  {
2290
 
2291
  /**
2292
+ * Lists segments to which the user has access.
2293
  * (segments.listManagementSegments)
2294
  *
2295
  * @param array $optParams Optional parameters.
2296
  *
2297
  * @opt_param int max-results
2298
+ * The maximum number of segments to include in this response.
2299
  * @opt_param int start-index
2300
+ * An index of the first segment to retrieve. Use this parameter as a pagination mechanism along
2301
+ * with the max-results parameter.
2302
  * @return GoogleGAL_Service_Analytics_Segments
2303
  */
2304
  public function listManagementSegments($optParams = array())
core/Google/Service/AppState.php CHANGED
@@ -168,7 +168,8 @@ class GoogleGAL_Service_AppState_States_Resource extends GoogleGAL_Service_Resou
168
  return $this->call('delete', array($params));
169
  }
170
  /**
171
- * Retrieves the data corresponding to the passed key. (states.get)
 
172
  *
173
  * @param int $stateKey
174
  * The key for the data to be retrieved.
168
  return $this->call('delete', array($params));
169
  }
170
  /**
171
+ * Retrieves the data corresponding to the passed key. If the key does not exist
172
+ * on the server, an HTTP 404 will be returned. (states.get)
173
  *
174
  * @param int $stateKey
175
  * The key for the data to be retrieved.
core/Google/Service/Bigquery.php CHANGED
@@ -1889,6 +1889,7 @@ class GoogleGAL_Service_Bigquery_JobConfigurationQuery extends GoogleGAL_Model
1889
  protected $defaultDatasetDataType = '';
1890
  protected $destinationTableType = 'GoogleGAL_Service_Bigquery_TableReference';
1891
  protected $destinationTableDataType = '';
 
1892
  public $preserveNulls;
1893
  public $priority;
1894
  public $query;
@@ -1935,6 +1936,16 @@ class GoogleGAL_Service_Bigquery_JobConfigurationQuery extends GoogleGAL_Model
1935
  return $this->destinationTable;
1936
  }
1937
 
 
 
 
 
 
 
 
 
 
 
1938
  public function setPreserveNulls($preserveNulls)
1939
  {
1940
  $this->preserveNulls = $preserveNulls;
1889
  protected $defaultDatasetDataType = '';
1890
  protected $destinationTableType = 'GoogleGAL_Service_Bigquery_TableReference';
1891
  protected $destinationTableDataType = '';
1892
+ public $flattenResults;
1893
  public $preserveNulls;
1894
  public $priority;
1895
  public $query;
1936
  return $this->destinationTable;
1937
  }
1938
 
1939
+ public function setFlattenResults($flattenResults)
1940
+ {
1941
+ $this->flattenResults = $flattenResults;
1942
+ }
1943
+
1944
+ public function getFlattenResults()
1945
+ {
1946
+ return $this->flattenResults;
1947
+ }
1948
+
1949
  public function setPreserveNulls($preserveNulls)
1950
  {
1951
  $this->preserveNulls = $preserveNulls;
core/Google/Service/Books.php CHANGED
@@ -45,6 +45,7 @@ class GoogleGAL_Service_Books extends GoogleGAL_Service
45
  public $mylibrary_bookshelves;
46
  public $mylibrary_bookshelves_volumes;
47
  public $mylibrary_readingpositions;
 
48
  public $volumes;
49
  public $volumes_associated;
50
  public $volumes_mybooks;
@@ -936,6 +937,115 @@ class GoogleGAL_Service_Books extends GoogleGAL_Service
936
  )
937
  )
938
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
939
  $this->volumes = new GoogleGAL_Service_Books_Volumes_Resource(
940
  $this,
941
  $this->serviceName,
@@ -2028,6 +2138,98 @@ class GoogleGAL_Service_Books_MylibraryReadingpositions_Resource extends GoogleG
2028
  }
2029
  }
2030
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2031
  /**
2032
  * The "volumes" collection of methods.
2033
  * Typical usage is:
@@ -4512,6 +4714,141 @@ class GoogleGAL_Service_Books_Layersummary extends GoogleGAL_Collection
4512
  }
4513
  }
4514
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4515
  class GoogleGAL_Service_Books_ReadingPosition extends GoogleGAL_Model
4516
  {
4517
  public $epubCfiPosition;
@@ -5758,6 +6095,7 @@ class GoogleGAL_Service_Books_VolumeVolumeInfo extends GoogleGAL_Collection
5758
  public $publishedDate;
5759
  public $publisher;
5760
  public $ratingsCount;
 
5761
  public $subtitle;
5762
  public $title;
5763
 
@@ -5951,6 +6289,16 @@ class GoogleGAL_Service_Books_VolumeVolumeInfo extends GoogleGAL_Collection
5951
  return $this->ratingsCount;
5952
  }
5953
 
 
 
 
 
 
 
 
 
 
 
5954
  public function setSubtitle($subtitle)
5955
  {
5956
  $this->subtitle = $subtitle;
45
  public $mylibrary_bookshelves;
46
  public $mylibrary_bookshelves_volumes;
47
  public $mylibrary_readingpositions;
48
+ public $promooffer;
49
  public $volumes;
50
  public $volumes_associated;
51
  public $volumes_mybooks;
937
  )
938
  )
939
  );
940
+ $this->promooffer = new GoogleGAL_Service_Books_Promooffer_Resource(
941
+ $this,
942
+ $this->serviceName,
943
+ 'promooffer',
944
+ array(
945
+ 'methods' => array(
946
+ 'accept' => array(
947
+ 'path' => 'promooffer/accept',
948
+ 'httpMethod' => 'POST',
949
+ 'parameters' => array(
950
+ 'product' => array(
951
+ 'location' => 'query',
952
+ 'type' => 'string',
953
+ ),
954
+ 'volumeId' => array(
955
+ 'location' => 'query',
956
+ 'type' => 'string',
957
+ ),
958
+ 'offerId' => array(
959
+ 'location' => 'query',
960
+ 'type' => 'string',
961
+ ),
962
+ 'androidId' => array(
963
+ 'location' => 'query',
964
+ 'type' => 'string',
965
+ ),
966
+ 'device' => array(
967
+ 'location' => 'query',
968
+ 'type' => 'string',
969
+ ),
970
+ 'model' => array(
971
+ 'location' => 'query',
972
+ 'type' => 'string',
973
+ ),
974
+ 'serial' => array(
975
+ 'location' => 'query',
976
+ 'type' => 'string',
977
+ ),
978
+ 'manufacturer' => array(
979
+ 'location' => 'query',
980
+ 'type' => 'string',
981
+ ),
982
+ ),
983
+ ),'dismiss' => array(
984
+ 'path' => 'promooffer/dismiss',
985
+ 'httpMethod' => 'POST',
986
+ 'parameters' => array(
987
+ 'product' => array(
988
+ 'location' => 'query',
989
+ 'type' => 'string',
990
+ ),
991
+ 'offerId' => array(
992
+ 'location' => 'query',
993
+ 'type' => 'string',
994
+ ),
995
+ 'androidId' => array(
996
+ 'location' => 'query',
997
+ 'type' => 'string',
998
+ ),
999
+ 'device' => array(
1000
+ 'location' => 'query',
1001
+ 'type' => 'string',
1002
+ ),
1003
+ 'model' => array(
1004
+ 'location' => 'query',
1005
+ 'type' => 'string',
1006
+ ),
1007
+ 'serial' => array(
1008
+ 'location' => 'query',
1009
+ 'type' => 'string',
1010
+ ),
1011
+ 'manufacturer' => array(
1012
+ 'location' => 'query',
1013
+ 'type' => 'string',
1014
+ ),
1015
+ ),
1016
+ ),'get' => array(
1017
+ 'path' => 'promooffer/get',
1018
+ 'httpMethod' => 'GET',
1019
+ 'parameters' => array(
1020
+ 'product' => array(
1021
+ 'location' => 'query',
1022
+ 'type' => 'string',
1023
+ ),
1024
+ 'androidId' => array(
1025
+ 'location' => 'query',
1026
+ 'type' => 'string',
1027
+ ),
1028
+ 'device' => array(
1029
+ 'location' => 'query',
1030
+ 'type' => 'string',
1031
+ ),
1032
+ 'model' => array(
1033
+ 'location' => 'query',
1034
+ 'type' => 'string',
1035
+ ),
1036
+ 'serial' => array(
1037
+ 'location' => 'query',
1038
+ 'type' => 'string',
1039
+ ),
1040
+ 'manufacturer' => array(
1041
+ 'location' => 'query',
1042
+ 'type' => 'string',
1043
+ ),
1044
+ ),
1045
+ ),
1046
+ )
1047
+ )
1048
+ );
1049
  $this->volumes = new GoogleGAL_Service_Books_Volumes_Resource(
1050
  $this,
1051
  $this->serviceName,
2138
  }
2139
  }
2140
 
2141
+ /**
2142
+ * The "promooffer" collection of methods.
2143
+ * Typical usage is:
2144
+ * <code>
2145
+ * $booksService = new GoogleGAL_Service_Books(...);
2146
+ * $promooffer = $booksService->promooffer;
2147
+ * </code>
2148
+ */
2149
+ class GoogleGAL_Service_Books_Promooffer_Resource extends GoogleGAL_Service_Resource
2150
+ {
2151
+
2152
+ /**
2153
+ * (promooffer.accept)
2154
+ *
2155
+ * @param array $optParams Optional parameters.
2156
+ *
2157
+ * @opt_param string product
2158
+ * device product
2159
+ * @opt_param string volumeId
2160
+ * Volume id to exercise the offer
2161
+ * @opt_param string offerId
2162
+ *
2163
+ * @opt_param string androidId
2164
+ * device android_id
2165
+ * @opt_param string device
2166
+ * device device
2167
+ * @opt_param string model
2168
+ * device model
2169
+ * @opt_param string serial
2170
+ * device serial
2171
+ * @opt_param string manufacturer
2172
+ * device manufacturer
2173
+ */
2174
+ public function accept($optParams = array())
2175
+ {
2176
+ $params = array();
2177
+ $params = array_merge($params, $optParams);
2178
+ return $this->call('accept', array($params));
2179
+ }
2180
+ /**
2181
+ * (promooffer.dismiss)
2182
+ *
2183
+ * @param array $optParams Optional parameters.
2184
+ *
2185
+ * @opt_param string product
2186
+ * device product
2187
+ * @opt_param string offerId
2188
+ * Offer to dimiss
2189
+ * @opt_param string androidId
2190
+ * device android_id
2191
+ * @opt_param string device
2192
+ * device device
2193
+ * @opt_param string model
2194
+ * device model
2195
+ * @opt_param string serial
2196
+ * device serial
2197
+ * @opt_param string manufacturer
2198
+ * device manufacturer
2199
+ */
2200
+ public function dismiss($optParams = array())
2201
+ {
2202
+ $params = array();
2203
+ $params = array_merge($params, $optParams);
2204
+ return $this->call('dismiss', array($params));
2205
+ }
2206
+ /**
2207
+ * Returns a list of promo offers available to the user (promooffer.get)
2208
+ *
2209
+ * @param array $optParams Optional parameters.
2210
+ *
2211
+ * @opt_param string product
2212
+ * device product
2213
+ * @opt_param string androidId
2214
+ * device android_id
2215
+ * @opt_param string device
2216
+ * device device
2217
+ * @opt_param string model
2218
+ * device model
2219
+ * @opt_param string serial
2220
+ * device serial
2221
+ * @opt_param string manufacturer
2222
+ * device manufacturer
2223
+ * @return GoogleGAL_Service_Books_Offers
2224
+ */
2225
+ public function get($optParams = array())
2226
+ {
2227
+ $params = array();
2228
+ $params = array_merge($params, $optParams);
2229
+ return $this->call('get', array($params), "GoogleGAL_Service_Books_Offers");
2230
+ }
2231
+ }
2232
+
2233
  /**
2234
  * The "volumes" collection of methods.
2235
  * Typical usage is:
4714
  }
4715
  }
4716
 
4717
+ class GoogleGAL_Service_Books_Offers extends GoogleGAL_Collection
4718
+ {
4719
+ protected $itemsType = 'GoogleGAL_Service_Books_OffersItems';
4720
+ protected $itemsDataType = 'array';
4721
+ public $kind;
4722
+
4723
+ public function setItems($items)
4724
+ {
4725
+ $this->items = $items;
4726
+ }
4727
+
4728
+ public function getItems()
4729
+ {
4730
+ return $this->items;
4731
+ }
4732
+
4733
+ public function setKind($kind)
4734
+ {
4735
+ $this->kind = $kind;
4736
+ }
4737
+
4738
+ public function getKind()
4739
+ {
4740
+ return $this->kind;
4741
+ }
4742
+ }
4743
+
4744
+ class GoogleGAL_Service_Books_OffersItems extends GoogleGAL_Collection
4745
+ {
4746
+ public $artUrl;
4747
+ public $id;
4748
+ protected $itemsType = 'GoogleGAL_Service_Books_OffersItemsItems';
4749
+ protected $itemsDataType = 'array';
4750
+
4751
+ public function setArtUrl($artUrl)
4752
+ {
4753
+ $this->artUrl = $artUrl;
4754
+ }
4755
+
4756
+ public function getArtUrl()
4757
+ {
4758
+ return $this->artUrl;
4759
+ }
4760
+
4761
+ public function setId($id)
4762
+ {
4763
+ $this->id = $id;
4764
+ }
4765
+
4766
+ public function getId()
4767
+ {
4768
+ return $this->id;
4769
+ }
4770
+
4771
+ public function setItems($items)
4772
+ {
4773
+ $this->items = $items;
4774
+ }
4775
+
4776
+ public function getItems()
4777
+ {
4778
+ return $this->items;
4779
+ }
4780
+ }
4781
+
4782
+ class GoogleGAL_Service_Books_OffersItemsItems extends GoogleGAL_Model
4783
+ {
4784
+ public $author;
4785
+ public $canonicalVolumeLink;
4786
+ public $coverUrl;
4787
+ public $description;
4788
+ public $title;
4789
+ public $volumeId;
4790
+
4791
+ public function setAuthor($author)
4792
+ {
4793
+ $this->author = $author;
4794
+ }
4795
+
4796
+ public function getAuthor()
4797
+ {
4798
+ return $this->author;
4799
+ }
4800
+
4801
+ public function setCanonicalVolumeLink($canonicalVolumeLink)
4802
+ {
4803
+ $this->canonicalVolumeLink = $canonicalVolumeLink;
4804
+ }
4805
+
4806
+ public function getCanonicalVolumeLink()
4807
+ {
4808
+ return $this->canonicalVolumeLink;
4809
+ }
4810
+
4811
+ public function setCoverUrl($coverUrl)
4812
+ {
4813
+ $this->coverUrl = $coverUrl;
4814
+ }
4815
+
4816
+ public function getCoverUrl()
4817
+ {
4818
+ return $this->coverUrl;
4819
+ }
4820
+
4821
+ public function setDescription($description)
4822
+ {
4823
+ $this->description = $description;
4824
+ }
4825
+
4826
+ public function getDescription()
4827
+ {
4828
+ return $this->description;
4829
+ }
4830
+
4831
+ public function setTitle($title)
4832
+ {
4833
+ $this->title = $title;
4834
+ }
4835
+
4836
+ public function getTitle()
4837
+ {
4838
+ return $this->title;
4839
+ }
4840
+
4841
+ public function setVolumeId($volumeId)
4842
+ {
4843
+ $this->volumeId = $volumeId;
4844
+ }
4845
+
4846
+ public function getVolumeId()
4847
+ {
4848
+ return $this->volumeId;
4849
+ }
4850
+ }
4851
+
4852
  class GoogleGAL_Service_Books_ReadingPosition extends GoogleGAL_Model
4853
  {
4854
  public $epubCfiPosition;
6095
  public $publishedDate;
6096
  public $publisher;
6097
  public $ratingsCount;
6098
+ public $readingModes;
6099
  public $subtitle;
6100
  public $title;
6101
 
6289
  return $this->ratingsCount;
6290
  }
6291
 
6292
+ public function setReadingModes($readingModes)
6293
+ {
6294
+ $this->readingModes = $readingModes;
6295
+ }
6296
+
6297
+ public function getReadingModes()
6298
+ {
6299
+ return $this->readingModes;
6300
+ }
6301
+
6302
  public function setSubtitle($subtitle)
6303
  {
6304
  $this->subtitle = $subtitle;
core/Google/Service/Calendar.php CHANGED
@@ -113,6 +113,22 @@ class GoogleGAL_Service_Calendar extends GoogleGAL_Service
113
  'type' => 'string',
114
  'required' => true,
115
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  ),
117
  ),'patch' => array(
118
  'path' => 'calendars/{calendarId}/acl/{ruleId}',
@@ -144,6 +160,32 @@ class GoogleGAL_Service_Calendar extends GoogleGAL_Service
144
  'required' => true,
145
  ),
146
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  ),
148
  )
149
  )
@@ -187,22 +229,30 @@ class GoogleGAL_Service_Calendar extends GoogleGAL_Service
187
  'path' => 'users/me/calendarList',
188
  'httpMethod' => 'GET',
189
  'parameters' => array(
190
- 'pageToken' => array(
191
  'location' => 'query',
192
  'type' => 'string',
193
  ),
194
- 'showHidden' => array(
195
  'location' => 'query',
196
  'type' => 'boolean',
197
  ),
 
 
 
 
198
  'maxResults' => array(
199
  'location' => 'query',
200
  'type' => 'integer',
201
  ),
202
- 'minAccessRole' => array(
203
  'location' => 'query',
204
  'type' => 'string',
205
  ),
 
 
 
 
206
  ),
207
  ),'patch' => array(
208
  'path' => 'users/me/calendarList/{calendarId}',
@@ -232,6 +282,35 @@ class GoogleGAL_Service_Calendar extends GoogleGAL_Service
232
  'type' => 'boolean',
233
  ),
234
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
235
  ),
236
  )
237
  )
@@ -476,6 +555,10 @@ class GoogleGAL_Service_Calendar extends GoogleGAL_Service
476
  'location' => 'query',
477
  'type' => 'boolean',
478
  ),
 
 
 
 
479
  'showDeleted' => array(
480
  'location' => 'query',
481
  'type' => 'boolean',
@@ -649,6 +732,10 @@ class GoogleGAL_Service_Calendar extends GoogleGAL_Service
649
  'location' => 'query',
650
  'type' => 'boolean',
651
  ),
 
 
 
 
652
  'showDeleted' => array(
653
  'location' => 'query',
654
  'type' => 'boolean',
@@ -745,7 +832,37 @@ class GoogleGAL_Service_Calendar extends GoogleGAL_Service
745
  ),'list' => array(
746
  'path' => 'users/me/settings',
747
  'httpMethod' => 'GET',
748
- 'parameters' => array(),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
749
  ),
750
  )
751
  )
@@ -817,6 +934,20 @@ class GoogleGAL_Service_Calendar_Acl_Resource extends GoogleGAL_Service_Resource
817
  * @param string $calendarId
818
  * Calendar identifier.
819
  * @param array $optParams Optional parameters.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
820
  * @return GoogleGAL_Service_Calendar_Acl
821
  */
822
  public function listAcl($calendarId, $optParams = array())
@@ -860,6 +991,35 @@ class GoogleGAL_Service_Calendar_Acl_Resource extends GoogleGAL_Service_Resource
860
  $params = array_merge($params, $optParams);
861
  return $this->call('update', array($params), "GoogleGAL_Service_Calendar_AclRule");
862
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
863
  }
864
 
865
  /**
@@ -923,15 +1083,21 @@ class GoogleGAL_Service_Calendar_CalendarList_Resource extends GoogleGAL_Service
923
  *
924
  * @param array $optParams Optional parameters.
925
  *
 
 
 
 
 
 
 
 
 
 
 
926
  * @opt_param string pageToken
927
  * Token specifying which result page to return. Optional.
928
  * @opt_param bool showHidden
929
  * Whether to show hidden entries. Optional. The default is False.
930
- * @opt_param int maxResults
931
- * Maximum number of entries returned on one result page. Optional.
932
- * @opt_param string minAccessRole
933
- * The minimum access role for the user in the returned entires. Optional. The default is no
934
- * restriction.
935
  * @return GoogleGAL_Service_Calendar_CalendarList
936
  */
937
  public function listCalendarList($optParams = array())
@@ -981,6 +1147,35 @@ class GoogleGAL_Service_Calendar_CalendarList_Resource extends GoogleGAL_Service
981
  $params = array_merge($params, $optParams);
982
  return $this->call('update', array($params), "GoogleGAL_Service_Calendar_CalendarListEntry");
983
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
984
  }
985
 
986
  /**
@@ -1280,6 +1475,10 @@ class GoogleGAL_Service_Calendar_Events_Resource extends GoogleGAL_Service_Resou
1280
  * order.
1281
  * @opt_param bool showHiddenInvitations
1282
  * Whether to include hidden invitations in the result. Optional. The default is False.
 
 
 
 
1283
  * @opt_param bool showDeleted
1284
  * Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled
1285
  * instances of recurring events (but not the underlying recurring event) will still be included if
@@ -1447,6 +1646,10 @@ class GoogleGAL_Service_Calendar_Events_Resource extends GoogleGAL_Service_Resou
1447
  * order.
1448
  * @opt_param bool showHiddenInvitations
1449
  * Whether to include hidden invitations in the result. Optional. The default is False.
 
 
 
 
1450
  * @opt_param bool showDeleted
1451
  * Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled
1452
  * instances of recurring events (but not the underlying recurring event) will still be included if
@@ -1558,6 +1761,15 @@ class GoogleGAL_Service_Calendar_Settings_Resource extends GoogleGAL_Service_Res
1558
  * Returns all user settings for the authenticated user. (settings.listSettings)
1559
  *
1560
  * @param array $optParams Optional parameters.
 
 
 
 
 
 
 
 
 
1561
  * @return GoogleGAL_Service_Calendar_Settings
1562
  */
1563
  public function listSettings($optParams = array())
@@ -1566,6 +1778,28 @@ class GoogleGAL_Service_Calendar_Settings_Resource extends GoogleGAL_Service_Res
1566
  $params = array_merge($params, $optParams);
1567
  return $this->call('list', array($params), "GoogleGAL_Service_Calendar_Settings");
1568
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1569
  }
1570
 
1571
 
@@ -1578,6 +1812,7 @@ class GoogleGAL_Service_Calendar_Acl extends GoogleGAL_Collection
1578
  protected $itemsDataType = 'array';
1579
  public $kind;
1580
  public $nextPageToken;
 
1581
 
1582
  public function setEtag($etag)
1583
  {
@@ -1618,6 +1853,16 @@ class GoogleGAL_Service_Calendar_Acl extends GoogleGAL_Collection
1618
  {
1619
  return $this->nextPageToken;
1620
  }
 
 
 
 
 
 
 
 
 
 
1621
  }
1622
 
1623
  class GoogleGAL_Service_Calendar_AclRule extends GoogleGAL_Model
@@ -1794,6 +2039,7 @@ class GoogleGAL_Service_Calendar_CalendarList extends GoogleGAL_Collection
1794
  protected $itemsDataType = 'array';
1795
  public $kind;
1796
  public $nextPageToken;
 
1797
 
1798
  public function setEtag($etag)
1799
  {
@@ -1834,6 +2080,16 @@ class GoogleGAL_Service_Calendar_CalendarList extends GoogleGAL_Collection
1834
  {
1835
  return $this->nextPageToken;
1836
  }
 
 
 
 
 
 
 
 
 
 
1837
  }
1838
 
1839
  class GoogleGAL_Service_Calendar_CalendarListEntry extends GoogleGAL_Collection
@@ -1843,6 +2099,7 @@ class GoogleGAL_Service_Calendar_CalendarListEntry extends GoogleGAL_Collection
1843
  public $colorId;
1844
  protected $defaultRemindersType = 'GoogleGAL_Service_Calendar_EventReminder';
1845
  protected $defaultRemindersDataType = 'array';
 
1846
  public $description;
1847
  public $etag;
1848
  public $foregroundColor;
@@ -1898,6 +2155,16 @@ class GoogleGAL_Service_Calendar_CalendarListEntry extends GoogleGAL_Collection
1898
  return $this->defaultReminders;
1899
  }
1900
 
 
 
 
 
 
 
 
 
 
 
1901
  public function setDescription($description)
1902
  {
1903
  $this->description = $description;
@@ -3152,6 +3419,7 @@ class GoogleGAL_Service_Calendar_Events extends GoogleGAL_Collection
3152
  protected $itemsDataType = 'array';
3153
  public $kind;
3154
  public $nextPageToken;
 
3155
  public $summary;
3156
  public $timeZone;
3157
  public $updated;
@@ -3226,6 +3494,16 @@ class GoogleGAL_Service_Calendar_Events extends GoogleGAL_Collection
3226
  return $this->nextPageToken;
3227
  }
3228
 
 
 
 
 
 
 
 
 
 
 
3229
  public function setSummary($summary)
3230
  {
3231
  $this->summary = $summary;
@@ -3513,6 +3791,8 @@ class GoogleGAL_Service_Calendar_Settings extends GoogleGAL_Collection
3513
  protected $itemsType = 'GoogleGAL_Service_Calendar_Setting';
3514
  protected $itemsDataType = 'array';
3515
  public $kind;
 
 
3516
 
3517
  public function setEtag($etag)
3518
  {
@@ -3543,6 +3823,26 @@ class GoogleGAL_Service_Calendar_Settings extends GoogleGAL_Collection
3543
  {
3544
  return $this->kind;
3545
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3546
  }
3547
 
3548
  class GoogleGAL_Service_Calendar_TimePeriod extends GoogleGAL_Model
113
  'type' => 'string',
114
  'required' => true,
115
  ),
116
+ 'pageToken' => array(
117
+ 'location' => 'query',
118
+ 'type' => 'string',
119
+ ),
120
+ 'syncToken' => array(
121
+ 'location' => 'query',
122
+ 'type' => 'string',
123
+ ),
124
+ 'maxResults' => array(
125
+ 'location' => 'query',
126
+ 'type' => 'integer',
127
+ ),
128
+ 'showDeleted' => array(
129
+ 'location' => 'query',
130
+ 'type' => 'boolean',
131
+ ),
132
  ),
133
  ),'patch' => array(
134
  'path' => 'calendars/{calendarId}/acl/{ruleId}',
160
  'required' => true,
161
  ),
162
  ),
163
+ ),'watch' => array(
164
+ 'path' => 'calendars/{calendarId}/acl/watch',
165
+ 'httpMethod' => 'POST',
166
+ 'parameters' => array(
167
+ 'calendarId' => array(
168
+ 'location' => 'path',
169
+ 'type' => 'string',
170
+ 'required' => true,
171
+ ),
172
+ 'pageToken' => array(
173
+ 'location' => 'query',
174
+ 'type' => 'string',
175
+ ),
176
+ 'syncToken' => array(
177
+ 'location' => 'query',
178
+ 'type' => 'string',
179
+ ),
180
+ 'maxResults' => array(
181
+ 'location' => 'query',
182
+ 'type' => 'integer',
183
+ ),
184
+ 'showDeleted' => array(
185
+ 'location' => 'query',
186
+ 'type' => 'boolean',
187
+ ),
188
+ ),
189
  ),
190
  )
191
  )
229
  'path' => 'users/me/calendarList',
230
  'httpMethod' => 'GET',
231
  'parameters' => array(
232
+ 'syncToken' => array(
233
  'location' => 'query',
234
  'type' => 'string',
235
  ),
236
+ 'showDeleted' => array(
237
  'location' => 'query',
238
  'type' => 'boolean',
239
  ),
240
+ 'minAccessRole' => array(
241
+ 'location' => 'query',
242
+ 'type' => 'string',
243
+ ),
244
  'maxResults' => array(
245
  'location' => 'query',
246
  'type' => 'integer',
247
  ),
248
+ 'pageToken' => array(
249
  'location' => 'query',
250
  'type' => 'string',
251
  ),
252
+ 'showHidden' => array(
253
+ 'location' => 'query',
254
+ 'type' => 'boolean',
255
+ ),
256
  ),
257
  ),'patch' => array(
258
  'path' => 'users/me/calendarList/{calendarId}',
282
  'type' => 'boolean',
283
  ),
284
  ),
285
+ ),'watch' => array(
286
+ 'path' => 'users/me/calendarList/watch',
287
+ 'httpMethod' => 'POST',
288
+ 'parameters' => array(
289
+ 'syncToken' => array(
290
+ 'location' => 'query',
291
+ 'type' => 'string',
292
+ ),
293
+ 'showDeleted' => array(
294
+ 'location' => 'query',
295
+ 'type' => 'boolean',
296
+ ),
297
+ 'minAccessRole' => array(
298
+ 'location' => 'query',
299
+ 'type' => 'string',
300
+ ),
301
+ 'maxResults' => array(
302
+ 'location' => 'query',
303
+ 'type' => 'integer',
304
+ ),
305
+ 'pageToken' => array(
306
+ 'location' => 'query',
307
+ 'type' => 'string',
308
+ ),
309
+ 'showHidden' => array(
310
+ 'location' => 'query',
311
+ 'type' => 'boolean',
312
+ ),
313
+ ),
314
  ),
315
  )
316
  )
555
  'location' => 'query',
556
  'type' => 'boolean',
557
  ),
558
+ 'syncToken' => array(
559
+ 'location' => 'query',
560
+ 'type' => 'string',
561
+ ),
562
  'showDeleted' => array(
563
  'location' => 'query',
564
  'type' => 'boolean',
732
  'location' => 'query',
733
  'type' => 'boolean',
734
  ),
735
+ 'syncToken' => array(
736
+ 'location' => 'query',
737
+ 'type' => 'string',
738
+ ),
739
  'showDeleted' => array(
740
  'location' => 'query',
741
  'type' => 'boolean',
832
  ),'list' => array(
833
  'path' => 'users/me/settings',
834
  'httpMethod' => 'GET',
835
+ 'parameters' => array(
836
+ 'pageToken' => array(
837
+ 'location' => 'query',
838
+ 'type' => 'string',
839
+ ),
840
+ 'maxResults' => array(
841
+ 'location' => 'query',
842
+ 'type' => 'integer',
843
+ ),
844
+ 'syncToken' => array(
845
+ 'location' => 'query',
846
+ 'type' => 'string',
847
+ ),
848
+ ),
849
+ ),'watch' => array(
850
+ 'path' => 'users/me/settings/watch',
851
+ 'httpMethod' => 'POST',
852
+ 'parameters' => array(
853
+ 'pageToken' => array(
854
+ 'location' => 'query',
855
+ 'type' => 'string',
856
+ ),
857
+ 'maxResults' => array(
858
+ 'location' => 'query',
859
+ 'type' => 'integer',
860
+ ),
861
+ 'syncToken' => array(
862
+ 'location' => 'query',
863
+ 'type' => 'string',
864
+ ),
865
+ ),
866
  ),
867
  )
868
  )
934
  * @param string $calendarId
935
  * Calendar identifier.
936
  * @param array $optParams Optional parameters.
937
+ *
938
+ * @opt_param string pageToken
939
+ * Token specifying which result page to return. Optional.
940
+ * @opt_param string syncToken
941
+ * Token obtained from the 'nextSyncToken' field returned as part of the result of a previous call
942
+ * to this method. It makes the result of this call contain only entries that have changed since
943
+ * the last call, including entries that have been removed in the meantime (they will have the
944
+ * 'role' set to 'none'). Optional. The default is to return to all entries.
945
+ * @opt_param int maxResults
946
+ * Maximum number of entries returned on one result page. Optional.
947
+ * @opt_param bool showDeleted
948
+ * Whether to include deleted acls in the result. Deleted acls are represented by with 'role' equal
949
+ * to 'none'. Deleted acls will always be included if 'syncToken' is provided. Optional. The
950
+ * default is False.
951
  * @return GoogleGAL_Service_Calendar_Acl
952
  */
953
  public function listAcl($calendarId, $optParams = array())
991
  $params = array_merge($params, $optParams);
992
  return $this->call('update', array($params), "GoogleGAL_Service_Calendar_AclRule");
993
  }
994
+ /**
995
+ * Watch for changes to ACL resources. (acl.watch)
996
+ *
997
+ * @param string $calendarId
998
+ * Calendar identifier.
999
+ * @param GoogleGAL_Channel $postBody
1000
+ * @param array $optParams Optional parameters.
1001
+ *
1002
+ * @opt_param string pageToken
1003
+ * Token specifying which result page to return. Optional.
1004
+ * @opt_param string syncToken
1005
+ * Token obtained from the 'nextSyncToken' field returned as part of the result of a previous call
1006
+ * to this method. It makes the result of this call contain only entries that have changed since
1007
+ * the last call, including entries that have been removed in the meantime (they will have the
1008
+ * 'role' set to 'none'). Optional. The default is to return to all entries.
1009
+ * @opt_param int maxResults
1010
+ * Maximum number of entries returned on one result page. Optional.
1011
+ * @opt_param bool showDeleted
1012
+ * Whether to include deleted acls in the result. Deleted acls are represented by with 'role' equal
1013
+ * to 'none'. Deleted acls will always be included if 'syncToken' is provided. Optional. The
1014
+ * default is False.
1015
+ * @return GoogleGAL_Service_Calendar_Channel
1016
+ */
1017
+ public function watch($calendarId, GoogleGAL_Service_Calendar_Channel $postBody, $optParams = array())
1018
+ {
1019
+ $params = array('calendarId' => $calendarId, 'postBody' => $postBody);
1020
+ $params = array_merge($params, $optParams);
1021
+ return $this->call('watch', array($params), "GoogleGAL_Service_Calendar_Channel");
1022
+ }
1023
  }
1024
 
1025
  /**
1083
  *
1084
  * @param array $optParams Optional parameters.
1085
  *
1086
+ * @opt_param string syncToken
1087
+ * Token obtained from the 'nextSyncToken' field returned on the last result page of the previous
1088
+ * method's call. It makes the result of this call contain only entries that have changed since the
1089
+ * last call. Optional. The default is to return all entries.
1090
+ * @opt_param bool showDeleted
1091
+ * Whether to include deleted calendar list entries in the result. Optional. The default is False.
1092
+ * @opt_param string minAccessRole
1093
+ * The minimum access role for the user in the returned entires. Optional. The default is no
1094
+ * restriction.
1095
+ * @opt_param int maxResults
1096
+ * Maximum number of entries returned on one result page. Optional.
1097
  * @opt_param string pageToken
1098
  * Token specifying which result page to return. Optional.
1099
  * @opt_param bool showHidden
1100
  * Whether to show hidden entries. Optional. The default is False.
 
 
 
 
 
1101
  * @return GoogleGAL_Service_Calendar_CalendarList
1102
  */
1103
  public function listCalendarList($optParams = array())
1147
  $params = array_merge($params, $optParams);
1148
  return $this->call('update', array($params), "GoogleGAL_Service_Calendar_CalendarListEntry");
1149
  }
1150
+ /**
1151
+ * Watch for changes to CalendarList resources. (calendarList.watch)
1152
+ *
1153
+ * @param GoogleGAL_Channel $postBody
1154
+ * @param array $optParams Optional parameters.
1155
+ *
1156
+ * @opt_param string syncToken
1157
+ * Token obtained from the 'nextSyncToken' field returned on the last result page of the previous
1158
+ * method's call. It makes the result of this call contain only entries that have changed since the
1159
+ * last call. Optional. The default is to return all entries.
1160
+ * @opt_param bool showDeleted
1161
+ * Whether to include deleted calendar list entries in the result. Optional. The default is False.
1162
+ * @opt_param string minAccessRole
1163
+ * The minimum access role for the user in the returned entires. Optional. The default is no
1164
+ * restriction.
1165
+ * @opt_param int maxResults
1166
+ * Maximum number of entries returned on one result page. Optional.
1167
+ * @opt_param string pageToken
1168
+ * Token specifying which result page to return. Optional.
1169
+ * @opt_param bool showHidden
1170
+ * Whether to show hidden entries. Optional. The default is False.
1171
+ * @return GoogleGAL_Service_Calendar_Channel
1172
+ */
1173
+ public function watch(GoogleGAL_Service_Calendar_Channel $postBody, $optParams = array())
1174
+ {
1175
+ $params = array('postBody' => $postBody);
1176
+ $params = array_merge($params, $optParams);
1177
+ return $this->call('watch', array($params), "GoogleGAL_Service_Calendar_Channel");
1178
+ }
1179
  }
1180
 
1181
  /**
1475
  * order.
1476
  * @opt_param bool showHiddenInvitations
1477
  * Whether to include hidden invitations in the result. Optional. The default is False.
1478
+ * @opt_param string syncToken
1479
+ * Token obtained from the 'nextSyncToken' field returned on the last result page of the previous
1480
+ * method's call. It makes the result of this call contain only entries that have changed since the
1481
+ * last call. Optional. The default is to return all entries.
1482
  * @opt_param bool showDeleted
1483
  * Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled
1484
  * instances of recurring events (but not the underlying recurring event) will still be included if
1646
  * order.
1647
  * @opt_param bool showHiddenInvitations
1648
  * Whether to include hidden invitations in the result. Optional. The default is False.
1649
+ * @opt_param string syncToken
1650
+ * Token obtained from the 'nextSyncToken' field returned on the last result page of the previous
1651
+ * method's call. It makes the result of this call contain only entries that have changed since the
1652
+ * last call. Optional. The default is to return all entries.
1653
  * @opt_param bool showDeleted
1654
  * Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled
1655
  * instances of recurring events (but not the underlying recurring event) will still be included if
1761
  * Returns all user settings for the authenticated user. (settings.listSettings)
1762
  *
1763
  * @param array $optParams Optional parameters.
1764
+ *
1765
+ * @opt_param string pageToken
1766
+ * Token specifying which result page to return. Optional.
1767
+ * @opt_param int maxResults
1768
+ * Maximum number of entries returned on one result page. Optional.
1769
+ * @opt_param string syncToken
1770
+ * Token obtained from the 'nextSyncToken' field returned on the last result page of the previous
1771
+ * method's call. It makes the result of this call contain only entries that have changed since the
1772
+ * last call. Optional. The default is to return all entries.
1773