<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;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;ampUrl&quot;: &quot;A String&quot;, # The AMP URL pointing to the publisher&#x27;s web server.
      &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;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;errorCode&quot;: &quot;A String&quot;, # The error code of an API call.
      &quot;errorMessage&quot;: &quot;A String&quot;, # An optional descriptive error message.
      &quot;originalUrl&quot;: &quot;A String&quot;, # The original non-AMP URL.
    },
  ],
}</pre>
</div>

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

</body></html>