<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="oauth2_v2.html">Google OAuth2 API</a> . <a href="oauth2_v2.userinfo.html">userinfo</a> . <a href="oauth2_v2.userinfo.v2.html">v2</a> . <a href="oauth2_v2.userinfo.v2.me.html">me</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get()</a></code></p>
<p class="firstline">A description of how to use this function</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get()</code>
  <pre>A description of how to use this function

Args:

Returns:
  An object of the form:

    {
    "family_name": "A String", # The user's last name.
    "name": "A String", # The user's full name.
    "picture": "A String", # URL of the user's picture image.
    "locale": "A String", # The user's default locale.
    "gender": "A String", # The user's gender.
    "id": "A String", # The focus obfuscated gaia id of the user.
    "birthday": "A String", # The user's birthday. The year is not present.
    "link": "A String", # URL of the profile page.
    "given_name": "A String", # The user's first name.
    "timezone": "A String", # The user's default timezone.
    "email": "A String", # The user's email address.
    "hd": "A String", # The hosted domain e.g. example.com if the user is Google apps user.
    "verified_email": True or False, # Boolean flag which is true if the email address is verified.
  }</pre>
</div>

</body></html>