<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="acceleratedmobilepageurl_v1.html">Accelerated Mobile Pages (AMP) URL API</a> . <a href="acceleratedmobilepageurl_v1.ampUrls.html">ampUrls</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#batchGet">batchGet(body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Returns AMP URL(s) and equivalent [AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).</p>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="batchGet">batchGet(body=None, x__xgafv=None)</code>
  <pre>Returns AMP URL(s) and equivalent [AMP Cache URL(s)](/amp/cache/overview#amp-cache-url-format).

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

{ # AMP URL request for a batch of URLs.
    &quot;lookupStrategy&quot;: &quot;A String&quot;, # The lookup_strategy being requested.
    &quot;urls&quot;: [ # List of URLs to look up for the paired AMP URLs. The URLs are case-sensitive. Up to 50 URLs per lookup (see [Usage Limits](/amp/cache/reference/limits)).
      &quot;A String&quot;,
    ],
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Batch AMP URL response.
    &quot;urlErrors&quot;: [ # The errors for requested URLs that have no AMP URL.
      { # AMP URL Error resource for a requested URL that couldn&#x27;t be found.
        &quot;errorMessage&quot;: &quot;A String&quot;, # An optional descriptive error message.
        &quot;originalUrl&quot;: &quot;A String&quot;, # The original non-AMP URL.
        &quot;errorCode&quot;: &quot;A String&quot;, # The error code of an API call.
      },
    ],
    &quot;ampUrls&quot;: [ # For each URL in BatchAmpUrlsRequest, the URL response. The response might not be in the same order as URLs in the batch request. If BatchAmpUrlsRequest contains duplicate URLs, AmpUrl is generated only once.
      { # AMP URL response for a requested URL.
        &quot;cdnAmpUrl&quot;: &quot;A String&quot;, # The [AMP Cache URL](/amp/cache/overview#amp-cache-url-format) pointing to the cached document in the Google AMP Cache.
        &quot;originalUrl&quot;: &quot;A String&quot;, # The original non-AMP URL.
        &quot;ampUrl&quot;: &quot;A String&quot;, # The AMP URL pointing to the publisher&#x27;s web server.
      },
    ],
  }</pre>
</div>

<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

</body></html>