<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="adexperiencereport_v1.html">Ad Experience Report API</a> . <a href="adexperiencereport_v1.sites.html">sites</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Gets a summary of the ad experience rating of a site.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(name, x__xgafv=None)</code>
  <pre>Gets a summary of the ad experience rating of a site.

Args:
  name: string, The required site name. It should be the site property whose ad experiences
may have been reviewed, and it should be URL-encoded. For example,
sites/https%3A%2F%2Fwww.google.com. The server will return an error of
BAD_REQUEST if this field is not filled in. Note that if the site property
is not yet verified in Search Console, the reportUrl field returned by the
API will lead to the verification page, prompting the user to go through
that process before they can gain access to the Ad Experience Report. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for GetSiteSummary.
    "reviewedSite": "A String", # The name of the site reviewed.
    "desktopSummary": { # Summary of the ad experience rating of a site for a specific platform. # Summary for the desktop review of the site.
      "lastChangeTime": "A String", # The last time that the site changed status.
      "region": [ # The assigned regions for the site and platform.
        "A String",
      ],
      "reportUrl": "A String", # A link that leads to a full ad experience report.
      "underReview": True or False, # Whether the site is currently under review.
      "enforcementTime": "A String", # The date on which ad filtering begins.
      "filterStatus": "A String", # The ad filtering status of the site.
      "betterAdsStatus": "A String", # The status of the site reviewed for the Better Ads Standards.
    },
    "mobileSummary": { # Summary of the ad experience rating of a site for a specific platform. # Summary for the mobile review of the site.
      "lastChangeTime": "A String", # The last time that the site changed status.
      "region": [ # The assigned regions for the site and platform.
        "A String",
      ],
      "reportUrl": "A String", # A link that leads to a full ad experience report.
      "underReview": True or False, # Whether the site is currently under review.
      "enforcementTime": "A String", # The date on which ad filtering begins.
      "filterStatus": "A String", # The ad filtering status of the site.
      "betterAdsStatus": "A String", # The status of the site reviewed for the Better Ads Standards.
    },
  }</pre>
</div>

</body></html>