<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="calendar_v3.html">Calendar API</a> . <a href="calendar_v3.settings.html">settings</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(setting)</a></code></p>
<p class="firstline">Returns a single user setting.</p>
<p class="toc_element">
  <code><a href="#list">list(pageToken=None, maxResults=None, syncToken=None)</a></code></p>
<p class="firstline">Returns all user settings for the authenticated user.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#watch">watch(body=None, pageToken=None, syncToken=None, maxResults=None)</a></code></p>
<p class="firstline">Watch for changes to Settings resources.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(setting)</code>
  <pre>Returns a single user setting.

Args:
  setting: string, The id of the user setting. (required)

Returns:
  An object of the form:

    {
    &quot;kind&quot;: &quot;calendar#setting&quot;, # Type of the resource (&quot;calendar#setting&quot;).
    &quot;id&quot;: &quot;A String&quot;, # The id of the user setting.
    &quot;etag&quot;: &quot;A String&quot;, # ETag of the resource.
    &quot;value&quot;: &quot;A String&quot;, # Value of the user setting. The format of the value depends on the ID of the setting. It must always be a UTF-8 string of length up to 1024 characters.
  }</pre>
</div>

<div class="method">
    <code class="details" id="list">list(pageToken=None, maxResults=None, syncToken=None)</code>
  <pre>Returns all user settings for the authenticated user.

Args:
  pageToken: string, Token specifying which result page to return. Optional.
  maxResults: integer, Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional.
  syncToken: string, Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then.
If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken.
Learn more about incremental synchronization.
Optional. The default is to return all entries.

Returns:
  An object of the form:

    {
    &quot;nextSyncToken&quot;: &quot;A String&quot;, # Token used at a later point in time to retrieve only the entries that have changed since this result was returned. Omitted if further results are available, in which case nextPageToken is provided.
    &quot;etag&quot;: &quot;A String&quot;, # Etag of the collection.
    &quot;items&quot;: [ # List of user settings.
      {
        &quot;kind&quot;: &quot;calendar#setting&quot;, # Type of the resource (&quot;calendar#setting&quot;).
        &quot;id&quot;: &quot;A String&quot;, # The id of the user setting.
        &quot;etag&quot;: &quot;A String&quot;, # ETag of the resource.
        &quot;value&quot;: &quot;A String&quot;, # Value of the user setting. The format of the value depends on the ID of the setting. It must always be a UTF-8 string of length up to 1024 characters.
      },
    ],
    &quot;nextPageToken&quot;: &quot;A String&quot;, # Token used to access the next page of this result. Omitted if no further results are available, in which case nextSyncToken is provided.
    &quot;kind&quot;: &quot;calendar#settings&quot;, # Type of the collection (&quot;calendar#settings&quot;).
  }</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call &#x27;execute()&#x27; on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

<div class="method">
    <code class="details" id="watch">watch(body=None, pageToken=None, syncToken=None, maxResults=None)</code>
  <pre>Watch for changes to Settings resources.

Args:
  body: object, The request body.
    The object takes the form of:

{
    &quot;resourceUri&quot;: &quot;A String&quot;, # A version-specific identifier for the watched resource.
    &quot;address&quot;: &quot;A String&quot;, # The address where notifications are delivered for this channel.
    &quot;resourceId&quot;: &quot;A String&quot;, # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
    &quot;params&quot;: { # Additional parameters controlling delivery channel behavior. Optional.
      &quot;a_key&quot;: &quot;A String&quot;, # Declares a new parameter by name.
    },
    &quot;payload&quot;: True or False, # A Boolean value to indicate whether payload is wanted. Optional.
    &quot;kind&quot;: &quot;api#channel&quot;, # Identifies this as a notification channel used to watch for changes to a resource, which is &quot;api#channel&quot;.
    &quot;token&quot;: &quot;A String&quot;, # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
    &quot;expiration&quot;: &quot;A String&quot;, # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
    &quot;id&quot;: &quot;A String&quot;, # A UUID or similar unique string that identifies this channel.
    &quot;type&quot;: &quot;A String&quot;, # The type of delivery mechanism used for this channel.
  }

  pageToken: string, Token specifying which result page to return. Optional.
  syncToken: string, Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then.
If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken.
Learn more about incremental synchronization.
Optional. The default is to return all entries.
  maxResults: integer, Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional.

Returns:
  An object of the form:

    {
      &quot;resourceUri&quot;: &quot;A String&quot;, # A version-specific identifier for the watched resource.
      &quot;address&quot;: &quot;A String&quot;, # The address where notifications are delivered for this channel.
      &quot;resourceId&quot;: &quot;A String&quot;, # An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
      &quot;params&quot;: { # Additional parameters controlling delivery channel behavior. Optional.
        &quot;a_key&quot;: &quot;A String&quot;, # Declares a new parameter by name.
      },
      &quot;payload&quot;: True or False, # A Boolean value to indicate whether payload is wanted. Optional.
      &quot;kind&quot;: &quot;api#channel&quot;, # Identifies this as a notification channel used to watch for changes to a resource, which is &quot;api#channel&quot;.
      &quot;token&quot;: &quot;A String&quot;, # An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
      &quot;expiration&quot;: &quot;A String&quot;, # Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
      &quot;id&quot;: &quot;A String&quot;, # A UUID or similar unique string that identifies this channel.
      &quot;type&quot;: &quot;A String&quot;, # The type of delivery mechanism used for this channel.
    }</pre>
</div>

</body></html>