<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>googleapiclient.discovery</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="googleapiclient-module.html">Package&nbsp;googleapiclient</a> ::
        Module&nbsp;discovery
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="googleapiclient.discovery-module.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module discovery</h1><p class="nomargin-top"><span class="codelink"><a href="googleapiclient.discovery-pysrc.html">source&nbsp;code</a></span></p>
<pre class="literalblock">
Client for discovery based APIs.

A client library for Google's discovery based APIs.

</pre>

<hr />
<div class="fields">      <p><strong>Author:</strong>
        jcgregorio@google.com (Joe Gregorio)
      </p>
</div><!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Classes</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Classes"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery._BytesGenerator-class.html" class="summary-name" onclick="show_private();">_BytesGenerator</a>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery.ResourceMethodParameters-class.html" class="summary-name" onclick="show_private();">ResourceMethodParameters</a><br />
      Represents the parameters associated with a method.
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery.Resource-class.html" class="summary-name" onclick="show_private();">Resource</a><br />
      A class for interacting with a resource.
    </td>
  </tr>
</table>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Functions</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Functions"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#fix_method_name" class="summary-sig-name">fix_method_name</a>(<span class="summary-sig-arg">name</span>)</span><br />
      Fix method names to avoid '$' characters and reserved word conflicts.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#fix_method_name">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#key2param" class="summary-sig-name">key2param</a>(<span class="summary-sig-arg">key</span>)</span><br />
      Converts key names into parameter names.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#key2param">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#build" class="summary-sig-name">build</a>(<span class="summary-sig-arg">serviceName</span>,
        <span class="summary-sig-arg">version</span>,
        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">discoveryServiceUrl</span>=<span class="summary-sig-default">DISCOVERY_URI</span>,
        <span class="summary-sig-arg">developerKey</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">model</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">requestBuilder</span>=<span class="summary-sig-default">HttpRequest</span>,
        <span class="summary-sig-arg">credentials</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">cache_discovery</span>=<span class="summary-sig-default">True</span>,
        <span class="summary-sig-arg">cache</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">client_options</span>=<span class="summary-sig-default">None</span>)</span><br />
      Construct a Resource for interacting with an API.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#build">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_retrieve_discovery_doc" class="summary-sig-name" onclick="show_private();">_retrieve_discovery_doc</a>(<span class="summary-sig-arg">url</span>,
        <span class="summary-sig-arg">http</span>,
        <span class="summary-sig-arg">cache_discovery</span>,
        <span class="summary-sig-arg">cache</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">developerKey</span>=<span class="summary-sig-default">None</span>)</span><br />
      Retrieves the discovery_doc from cache or the internet.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_retrieve_discovery_doc">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#build_from_document" class="summary-sig-name">build_from_document</a>(<span class="summary-sig-arg">service</span>,
        <span class="summary-sig-arg">base</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">future</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">http</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">developerKey</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">model</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">requestBuilder</span>=<span class="summary-sig-default">HttpRequest</span>,
        <span class="summary-sig-arg">credentials</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">client_options</span>=<span class="summary-sig-default">None</span>)</span><br />
      Create a Resource for interacting with an API.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#build_from_document">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_cast" class="summary-sig-name" onclick="show_private();">_cast</a>(<span class="summary-sig-arg">value</span>,
        <span class="summary-sig-arg">schema_type</span>)</span><br />
      Convert value to a string based on JSON Schema type.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_cast">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_media_size_to_long" class="summary-sig-name" onclick="show_private();">_media_size_to_long</a>(<span class="summary-sig-arg">maxSize</span>)</span><br />
      Convert a string media size, such as 10GB or 3TB into an integer.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_media_size_to_long">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_media_path_url_from_info" class="summary-sig-name" onclick="show_private();">_media_path_url_from_info</a>(<span class="summary-sig-arg">root_desc</span>,
        <span class="summary-sig-arg">path_url</span>)</span><br />
      Creates an absolute media path URL.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_media_path_url_from_info">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_fix_up_parameters" class="summary-sig-name" onclick="show_private();">_fix_up_parameters</a>(<span class="summary-sig-arg">method_desc</span>,
        <span class="summary-sig-arg">root_desc</span>,
        <span class="summary-sig-arg">http_method</span>,
        <span class="summary-sig-arg">schema</span>)</span><br />
      Updates parameters of an API method with values specific to this library.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_parameters">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_fix_up_media_upload" class="summary-sig-name" onclick="show_private();">_fix_up_media_upload</a>(<span class="summary-sig-arg">method_desc</span>,
        <span class="summary-sig-arg">root_desc</span>,
        <span class="summary-sig-arg">path_url</span>,
        <span class="summary-sig-arg">parameters</span>)</span><br />
      Adds 'media_body' and 'media_mime_type' parameters if supported by method.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_media_upload">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_fix_up_method_description" class="summary-sig-name" onclick="show_private();">_fix_up_method_description</a>(<span class="summary-sig-arg">method_desc</span>,
        <span class="summary-sig-arg">root_desc</span>,
        <span class="summary-sig-arg">schema</span>)</span><br />
      Updates a method description in a discovery document.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_method_description">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="_urljoin"></a><span class="summary-sig-name">_urljoin</span>(<span class="summary-sig-arg">base</span>,
        <span class="summary-sig-arg">url</span>)</span><br />
      Custom urljoin replacement supporting : before / in url.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_urljoin">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#createMethod" class="summary-sig-name" onclick="show_private();">createMethod</a>(<span class="summary-sig-arg">methodName</span>,
        <span class="summary-sig-arg">methodDesc</span>,
        <span class="summary-sig-arg">rootDesc</span>,
        <span class="summary-sig-arg">schema</span>)</span><br />
      Creates a method for attaching to a Resource.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#createMethod">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#createNextMethod" class="summary-sig-name" onclick="show_private();">createNextMethod</a>(<span class="summary-sig-arg">methodName</span>,
        <span class="summary-sig-arg">pageTokenName</span>=<span class="summary-sig-default">&quot;pageToken&quot;</span>,
        <span class="summary-sig-arg">nextPageTokenName</span>=<span class="summary-sig-default">&quot;nextPageToken&quot;</span>,
        <span class="summary-sig-arg">isPageTokenParameter</span>=<span class="summary-sig-default">True</span>)</span><br />
      Creates any _next methods for attaching to a Resource.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#createNextMethod">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_findPageTokenName" class="summary-sig-name" onclick="show_private();">_findPageTokenName</a>(<span class="summary-sig-arg">fields</span>)</span><br />
      Search field names for one like a page token.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_findPageTokenName">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="googleapiclient.discovery-module.html#_methodProperties" class="summary-sig-name" onclick="show_private();">_methodProperties</a>(<span class="summary-sig-arg">methodDesc</span>,
        <span class="summary-sig-arg">schema</span>,
        <span class="summary-sig-arg">name</span>)</span><br />
      Get properties of a field in a method description.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_methodProperties">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Variables</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Variables"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="URITEMPLATE"></a><span class="summary-name">URITEMPLATE</span> = <code title="re.compile(&quot;{[^}]*}&quot;)">re.compile(&quot;{[^}]*}&quot;)</code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="VARNAME"></a><span class="summary-name">VARNAME</span> = <code title="re.compile(&quot;[a-zA-Z0-9_-]+&quot;)">re.compile(&quot;[a-zA-Z0-9_-]+&quot;)</code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery-module.html#DISCOVERY_URI" class="summary-name" onclick="show_private();">DISCOVERY_URI</a> = <code title="&quot;https://www.googleapis.com/discovery/v1/apis/&quot; &quot;{api}/{apiVersion}/re\
st&quot;">&quot;https://www.googleapis.com/discovery/v1/apis/<code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery-module.html#V1_DISCOVERY_URI" class="summary-name" onclick="show_private();">V1_DISCOVERY_URI</a> = <code title="&quot;https://www.googleapis.com/discovery/v1/apis/&quot; &quot;{api}/{apiVersion}/re\
st&quot;">&quot;https://www.googleapis.com/discovery/v1/ap<code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery-module.html#V2_DISCOVERY_URI" class="summary-name" onclick="show_private();">V2_DISCOVERY_URI</a> = <code title="&quot;https://{api}.googleapis.com/$discovery/rest?&quot; &quot;version={apiVersion}&quot;">&quot;https://{api}.googleapis.com/$discovery/re<code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="DEFAULT_METHOD_DOC"></a><span class="summary-name">DEFAULT_METHOD_DOC</span> = <code title="&quot;A description of how to use this function&quot;">&quot;A description of how to use this function&quot;</code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="HTTP_PAYLOAD_METHODS"></a><span class="summary-name">HTTP_PAYLOAD_METHODS</span> = <code title="frozenset([&quot;PUT&quot;, &quot;POST&quot;, &quot;PATCH&quot;])">frozenset([&quot;PUT&quot;, &quot;POST&quot;, &quot;PATCH&quot;])</code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="_MEDIA_SIZE_BIT_SHIFTS"></a><span class="summary-name">_MEDIA_SIZE_BIT_SHIFTS</span> = <code title="{&quot;KB&quot;: 10, &quot;MB&quot;: 20, &quot;GB&quot;: 30, &quot;TB&quot;: 40}">{&quot;KB&quot;: 10, &quot;MB&quot;: 20, &quot;GB&quot;: 30, &quot;TB&quot;: 40}</code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE" class="summary-name" onclick="show_private();">BODY_PARAMETER_DEFAULT_VALUE</a> = <code title="{&quot;description&quot;: &quot;The request body.&quot;, &quot;type&quot;: &quot;object&quot;}">{&quot;description&quot;: &quot;The request bo<code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE" class="summary-name" onclick="show_private();">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</a> = <code title="{&quot;description&quot;:(&quot;The filename of the media request body, or an instanc\
e &quot; &quot;of a MediaUpload object.&quot;), &quot;type&quot;: &quot;string&quot;, &quot;required&quot;: False,}">{&quot;description&quot;:(&quot;The file<code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery-module.html#MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE" class="summary-name" onclick="show_private();">MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE</a> = <code title="{&quot;description&quot;:(&quot;The MIME type of the media request body, or an instan\
ce &quot; &quot;of a MediaUpload object.&quot;), &quot;type&quot;: &quot;string&quot;, &quot;required&quot;: False,\
}">{&quot;description&quot;:(&quot;The<code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="_PAGE_TOKEN_NAMES"></a><span class="summary-name">_PAGE_TOKEN_NAMES</span> = <code title="&quot;pageToken&quot;, &quot;nextPageToken&quot;">&quot;pageToken&quot;, &quot;nextPageToken&quot;</code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS" class="summary-name" onclick="show_private();">STACK_QUERY_PARAMETERS</a> = <code title="frozenset([&quot;trace&quot;, &quot;pp&quot;, &quot;userip&quot;, &quot;strict&quot;])">frozenset([&quot;trace&quot;, &quot;pp&quot;, &quot;userip&quot;, &quot;<code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE" class="summary-name" onclick="show_private();">STACK_QUERY_PARAMETER_DEFAULT_VALUE</a> = <code title="{&quot;type&quot;: &quot;string&quot;, &quot;location&quot;: &quot;query&quot;}">{&quot;type&quot;: &quot;string&quot;, &quot;loca<code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="RESERVED_WORDS"></a><span class="summary-name">RESERVED_WORDS</span> = <code title="frozenset([&quot;body&quot;])">frozenset([&quot;body&quot;])</code>
    </td>
  </tr>
</table>
<!-- ==================== FUNCTION DETAILS ==================== -->
<a name="section-FunctionDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Function Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-FunctionDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="fix_method_name"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">fix_method_name</span>(<span class="sig-arg">name</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#fix_method_name">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Fix method names to avoid '$' characters and reserved word conflicts.

Args:
  name: string, method name.

Returns:
  The name with '_' appended if the name is a reserved word and '$' and '-'
  replaced with '_'. 

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="key2param"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">key2param</span>(<span class="sig-arg">key</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#key2param">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Converts key names into parameter names.

For example, converting &quot;max-results&quot; -&gt; &quot;max_results&quot;

Args:
  key: string, the method key name.

Returns:
  A safe method name based on the key name.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="build"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">build</span>(<span class="sig-arg">serviceName</span>,
        <span class="sig-arg">version</span>,
        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">discoveryServiceUrl</span>=<span class="sig-default">DISCOVERY_URI</span>,
        <span class="sig-arg">developerKey</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">model</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">requestBuilder</span>=<span class="sig-default">HttpRequest</span>,
        <span class="sig-arg">credentials</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">cache_discovery</span>=<span class="sig-default">True</span>,
        <span class="sig-arg">cache</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">client_options</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#build">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Construct a Resource for interacting with an API.

Construct a Resource object for interacting with an API. The serviceName and
version are the names from the Discovery service.

Args:
  serviceName: string, name of the service.
  version: string, the version of the service.
  http: httplib2.Http, An instance of httplib2.Http or something that acts
    like it that HTTP requests will be made through.
  discoveryServiceUrl: string, a URI Template that points to the location of
    the discovery service. It should have two parameters {api} and
    {apiVersion} that when filled in produce an absolute URI to the discovery
    document for that service.
  developerKey: string, key obtained from
    https://code.google.com/apis/console.
  model: googleapiclient.Model, converts to and from the wire format.
  requestBuilder: googleapiclient.http.HttpRequest, encapsulator for an HTTP
    request.
  credentials: oauth2client.Credentials or
    google.auth.credentials.Credentials, credentials to be used for
    authentication.
  cache_discovery: Boolean, whether or not to cache the discovery doc.
  cache: googleapiclient.discovery_cache.base.CacheBase, an optional
    cache object for the discovery documents.
  client_options: Dictionary or google.api_core.client_options, Client options to set user
    options on the client. API endpoint should be set through client_options.

Returns:
  A Resource object with methods for interacting with the service.

</pre>
  <dl class="fields">
    <dt>Decorators:</dt>
    <dd><ul class="nomargin-top">
        <li><code>@positional(2)</code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="_retrieve_discovery_doc"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_retrieve_discovery_doc</span>(<span class="sig-arg">url</span>,
        <span class="sig-arg">http</span>,
        <span class="sig-arg">cache_discovery</span>,
        <span class="sig-arg">cache</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">developerKey</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_retrieve_discovery_doc">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Retrieves the discovery_doc from cache or the internet.

Args:
  url: string, the URL of the discovery document.
  http: httplib2.Http, An instance of httplib2.Http or something that acts
    like it through which HTTP requests will be made.
  cache_discovery: Boolean, whether or not to cache the discovery doc.
  cache: googleapiclient.discovery_cache.base.Cache, an optional cache
    object for the discovery documents.

Returns:
  A unicode string representation of the discovery document.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="build_from_document"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">build_from_document</span>(<span class="sig-arg">service</span>,
        <span class="sig-arg">base</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">future</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">http</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">developerKey</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">model</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">requestBuilder</span>=<span class="sig-default">HttpRequest</span>,
        <span class="sig-arg">credentials</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">client_options</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#build_from_document">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Create a Resource for interacting with an API.

Same as `build()`, but constructs the Resource object from a discovery
document that is it given, as opposed to retrieving one over HTTP.

Args:
  service: string or object, the JSON discovery document describing the API.
    The value passed in may either be the JSON string or the deserialized
    JSON.
  base: string, base URI for all HTTP requests, usually the discovery URI.
    This parameter is no longer used as rootUrl and servicePath are included
    within the discovery document. (deprecated)
  future: string, discovery document with future capabilities (deprecated).
  http: httplib2.Http, An instance of httplib2.Http or something that acts
    like it that HTTP requests will be made through.
  developerKey: string, Key for controlling API usage, generated
    from the API Console.
  model: Model class instance that serializes and de-serializes requests and
    responses.
  requestBuilder: Takes an http request and packages it up to be executed.
  credentials: oauth2client.Credentials or
    google.auth.credentials.Credentials, credentials to be used for
    authentication.
  client_options: Dictionary or google.api_core.client_options, Client options to set user
    options on the client. API endpoint should be set through client_options.

Returns:
  A Resource object with methods for interacting with the service.

</pre>
  <dl class="fields">
    <dt>Decorators:</dt>
    <dd><ul class="nomargin-top">
        <li><code>@positional(1)</code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="_cast"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_cast</span>(<span class="sig-arg">value</span>,
        <span class="sig-arg">schema_type</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_cast">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Convert value to a string based on JSON Schema type.

See http://tools.ietf.org/html/draft-zyp-json-schema-03 for more details on
JSON Schema.

Args:
  value: any, the value to convert
  schema_type: string, the type that value should be interpreted as

Returns:
  A string representation of 'value' based on the schema_type.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="_media_size_to_long"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_media_size_to_long</span>(<span class="sig-arg">maxSize</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_media_size_to_long">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Convert a string media size, such as 10GB or 3TB into an integer.

Args:
  maxSize: string, size as a string, such as 2MB or 7GB.

Returns:
  The size as an integer value.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="_media_path_url_from_info"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_media_path_url_from_info</span>(<span class="sig-arg">root_desc</span>,
        <span class="sig-arg">path_url</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_media_path_url_from_info">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Creates an absolute media path URL.

Constructed using the API root URI and service path from the discovery
document and the relative path for the API method.

Args:
  root_desc: Dictionary; the entire original deserialized discovery document.
  path_url: String; the relative URL for the API method. Relative to the API
      root, which is specified in the discovery document.

Returns:
  String; the absolute URI for media upload for the API method.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="_fix_up_parameters"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_fix_up_parameters</span>(<span class="sig-arg">method_desc</span>,
        <span class="sig-arg">root_desc</span>,
        <span class="sig-arg">http_method</span>,
        <span class="sig-arg">schema</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_parameters">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Updates parameters of an API method with values specific to this library.

Specifically, adds whatever global parameters are specified by the API to the
parameters for the individual method. Also adds parameters which don't
appear in the discovery document, but are available to all discovery based
APIs (these are listed in STACK_QUERY_PARAMETERS).

SIDE EFFECTS: This updates the parameters dictionary object in the method
description.

Args:
  method_desc: Dictionary with metadata describing an API method. Value comes
      from the dictionary of methods stored in the 'methods' key in the
      deserialized discovery document.
  root_desc: Dictionary; the entire original deserialized discovery document.
  http_method: String; the HTTP method used to call the API method described
      in method_desc.
  schema: Object, mapping of schema names to schema descriptions.

Returns:
  The updated Dictionary stored in the 'parameters' key of the method
      description dictionary.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="_fix_up_media_upload"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_fix_up_media_upload</span>(<span class="sig-arg">method_desc</span>,
        <span class="sig-arg">root_desc</span>,
        <span class="sig-arg">path_url</span>,
        <span class="sig-arg">parameters</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_media_upload">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Adds 'media_body' and 'media_mime_type' parameters if supported by method.

SIDE EFFECTS: If there is a 'mediaUpload' in the method description, adds
'media_upload' key to parameters.

Args:
  method_desc: Dictionary with metadata describing an API method. Value comes
      from the dictionary of methods stored in the 'methods' key in the
      deserialized discovery document.
  root_desc: Dictionary; the entire original deserialized discovery document.
  path_url: String; the relative URL for the API method. Relative to the API
      root, which is specified in the discovery document.
  parameters: A dictionary describing method parameters for method described
      in method_desc.

Returns:
  Triple (accept, max_size, media_path_url) where:
    - accept is a list of strings representing what content types are
      accepted for media upload. Defaults to empty list if not in the
      discovery document.
    - max_size is a long representing the max size in bytes allowed for a
      media upload. Defaults to 0L if not in the discovery document.
    - media_path_url is a String; the absolute URI for media upload for the
      API method. Constructed using the API root URI and service path from
      the discovery document and the relative path for the API method. If
      media upload is not supported, this is None.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="_fix_up_method_description"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_fix_up_method_description</span>(<span class="sig-arg">method_desc</span>,
        <span class="sig-arg">root_desc</span>,
        <span class="sig-arg">schema</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_fix_up_method_description">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Updates a method description in a discovery document.

SIDE EFFECTS: Changes the parameters dictionary in the method description with
extra parameters which are used locally.

Args:
  method_desc: Dictionary with metadata describing an API method. Value comes
      from the dictionary of methods stored in the 'methods' key in the
      deserialized discovery document.
  root_desc: Dictionary; the entire original deserialized discovery document.
  schema: Object, mapping of schema names to schema descriptions.

Returns:
  Tuple (path_url, http_method, method_id, accept, max_size, media_path_url)
  where:
    - path_url is a String; the relative URL for the API method. Relative to
      the API root, which is specified in the discovery document.
    - http_method is a String; the HTTP method used to call the API method
      described in the method description.
    - method_id is a String; the name of the RPC method associated with the
      API method, and is in the method description in the 'id' key.
    - accept is a list of strings representing what content types are
      accepted for media upload. Defaults to empty list if not in the
      discovery document.
    - max_size is a long representing the max size in bytes allowed for a
      media upload. Defaults to 0L if not in the discovery document.
    - media_path_url is a String; the absolute URI for media upload for the
      API method. Constructed using the API root URI and service path from
      the discovery document and the relative path for the API method. If
      media upload is not supported, this is None.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="createMethod"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">createMethod</span>(<span class="sig-arg">methodName</span>,
        <span class="sig-arg">methodDesc</span>,
        <span class="sig-arg">rootDesc</span>,
        <span class="sig-arg">schema</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#createMethod">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Creates a method for attaching to a Resource.

Args:
  methodName: string, name of the method to use.
  methodDesc: object, fragment of deserialized discovery document that
    describes the method.
  rootDesc: object, the entire deserialized discovery document.
  schema: object, mapping of schema names to schema descriptions.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="createNextMethod"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">createNextMethod</span>(<span class="sig-arg">methodName</span>,
        <span class="sig-arg">pageTokenName</span>=<span class="sig-default">&quot;pageToken&quot;</span>,
        <span class="sig-arg">nextPageTokenName</span>=<span class="sig-default">&quot;nextPageToken&quot;</span>,
        <span class="sig-arg">isPageTokenParameter</span>=<span class="sig-default">True</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#createNextMethod">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Creates any _next methods for attaching to a Resource.

The _next methods allow for easy iteration through list() responses.

Args:
  methodName: string, name of the method to use.
  pageTokenName: string, name of request page token field.
  nextPageTokenName: string, name of response page token field.
  isPageTokenParameter: Boolean, True if request page token is a query
      parameter, False if request page token is a field of the request body.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="_findPageTokenName"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_findPageTokenName</span>(<span class="sig-arg">fields</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_findPageTokenName">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Search field names for one like a page token.

Args:
  fields: container of string, names of fields.

Returns:
  First name that is either 'pageToken' or 'nextPageToken' if one exists,
  otherwise None.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="_methodProperties"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_methodProperties</span>(<span class="sig-arg">methodDesc</span>,
        <span class="sig-arg">schema</span>,
        <span class="sig-arg">name</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="googleapiclient.discovery-pysrc.html#_methodProperties">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">
Get properties of a field in a method description.

Args:
  methodDesc: object, fragment of deserialized discovery document that
    describes the method.
  schema: object, mapping of schema names to schema descriptions.
  name: string, name of top-level field in method description.

Returns:
  Object representing fragment of deserialized discovery document
  corresponding to 'properties' field of object corresponding to named field
  in method description, if it exists, otherwise empty dict.

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== VARIABLES DETAILS ==================== -->
<a name="section-VariablesDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Variables Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-VariablesDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="DISCOVERY_URI"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">DISCOVERY_URI</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
&quot;https://www.googleapis.com/discovery/v1/apis/&quot; &quot;{api}/{apiVersion}/re<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
st&quot;
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<a name="V1_DISCOVERY_URI"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">V1_DISCOVERY_URI</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
&quot;https://www.googleapis.com/discovery/v1/apis/&quot; &quot;{api}/{apiVersion}/re<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
st&quot;
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<a name="V2_DISCOVERY_URI"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">V2_DISCOVERY_URI</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
&quot;https://{api}.googleapis.com/$discovery/rest?&quot; &quot;version={apiVersion}&quot;
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<a name="BODY_PARAMETER_DEFAULT_VALUE"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">BODY_PARAMETER_DEFAULT_VALUE</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
{&quot;description&quot;: &quot;The request body.&quot;, &quot;type&quot;: &quot;object&quot;}
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<a name="MEDIA_BODY_PARAMETER_DEFAULT_VALUE"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">MEDIA_BODY_PARAMETER_DEFAULT_VALUE</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
{&quot;description&quot;:(&quot;The filename of the media request body, or an instanc<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
e &quot; &quot;of a MediaUpload object.&quot;), &quot;type&quot;: &quot;string&quot;, &quot;required&quot;: False,}
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<a name="MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
{&quot;description&quot;:(&quot;The MIME type of the media request body, or an instan<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
ce &quot; &quot;of a MediaUpload object.&quot;), &quot;type&quot;: &quot;string&quot;, &quot;required&quot;: False,<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
}
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<a name="STACK_QUERY_PARAMETERS"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">STACK_QUERY_PARAMETERS</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
frozenset([&quot;trace&quot;, &quot;pp&quot;, &quot;userip&quot;, &quot;strict&quot;])
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<a name="STACK_QUERY_PARAMETER_DEFAULT_VALUE"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">STACK_QUERY_PARAMETER_DEFAULT_VALUE</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
{&quot;type&quot;: &quot;string&quot;, &quot;location&quot;: &quot;query&quot;}
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="googleapiclient-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Thu Apr 30 17:06:05 2020
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
